假設我有兩個 JS 檔案,它們顯然都代表較大的檔案。第一個是root/foo.js:
let foo = true;
接下來是root/foopolice.js。此代碼依賴于root/foo.js,并且本身會引發錯誤:
function patrol(){
if (foo) alert("Found foo"); // ReferenceError
最后,有root/index.html,將兩者聯系起來:
<script src="/foo.js"></script>
<script src="/foopolice.js"></script>
<button onclick="patrol()">Patrol for foo</button>
問題是,如何將定義的變數root/foo.js直接“包含”root/foopolice.js到其中而不將兩者合二為一?使用兩個腳本標簽是不夠的,因為root/foopolice.js在我編輯它時仍然會警告不存在的錯誤。根據最佳實踐,我對使用 JQuery 或只是 vanilla JS 的解決方案持開放態度。
uj5u.com熱心網友回復:
通常,構建程序用于創建 JS 包,該包將從多個檔案中提取和組合所有必需的代碼(請參閱Parcel或ESBuild)。
如果沒有構建程序,現代JS 模塊(也稱為“ES 模塊”)可以使用<script type="module">. JQuery 可以在 2020 年及以后完全避免。
庫.js
const name = 'Jane Doe'
export {
name
}
主檔案
import { name } from './library.js'
function sayHello() {
console.log(`hello ${name}!`)
}
window.addEventListener('DOMContentLoaded', event => {
document.querySelector('button').addEventListener('click', sayHello)
})
索引.html
<script type="module" src="main.js"></script>
<button>Say Hello</button>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/377286.html
標籤:javascript html 查询
