參考:
es6的模組分為匯出(export)和匯入(import)兩個模組
1:es6模組自動開啟嚴格模式,不管你有沒有在模組頭部加use strict
2:模組可以匯入匯出各種型別的變數,如函式、物件、字串、陣列、布林值、類等
3:每個模組都有自己的上下文,每個模組內宣告的變數都是區域性變數,不會汙染到全域性作用域
4:每乙個模組只載入一次(單例的),若再去載入同目錄下同檔案,直接從記憶體中讀取
注意
目前在使用模組的匯入匯出功能時,需要使用babel轉碼才能用export和import, 也就是需要把es6轉成es5, 建議直接在vue中使用
模組可以匯入匯出各種型別的變數,如函式、物件、字串、陣列、布林值、類等
注意
匯出的函式宣告與類宣告必須要有名稱(export default 命令除外)
example.js檔案
export const pi = 3.14;
export let str = "str";
export let num = 10;
export function test()
export class myclass
export let obj = ;
export let arr = ["item1", "item2"];
const people = ;
//乙個模組只能有乙個預設匯出
export default people;
在vue中通過import匯入需要的內容,匯入和匯出的順序可以不一致
注意
1:通過export方式匯出時,在import時需要加{},而通過export default匯出時則不需要
2:不需要使用的變數可以不匯入
3:可同時匯入通過export和export default匯出的內容,若export和export default同時存在則可以用下面兩種方式匯入
4:可以通過as重新定義匯入匯出的變數名
vue.js檔案
建議使用大括號指定所要匯出的內容,也就是物件匯出
let num = 10;
let obj = ;
export ;
在使用匯入時(順序可不一致)
import from './example';
const obj =
};export default obj;
在使用匯入時(不能加花括號{})
import example from './example';
注意:可以通過as重新定義匯入匯出的變數名
1:在乙個檔案或模組中,export、import可以有多個,export default最多只能有乙個
export default a;
export default b; //錯誤 只能有乙個
2:通過export方式匯出,在匯入時要加{},export default則不需要並且可以使用任意變數接收
export default b;
import *** from "./***.js"; // 不需要加{}, 可使用任意變數接收
3:export default中的default對應的是匯出的變數不能是表示式,但export可以直接匯出表示式
export default const pi = 3.14; //錯誤 只能是匯出變數,不能是表示式
1:唯讀屬性:不允許在載入模組的指令碼裡面改寫import變數型別為基本型別的變數,也不允許改寫介面的引用指向,但可以改寫引用指向的屬性值
example.js檔案
let num = 10;
let obj = ;
export ;
vue.js
2:單例模式:多次重複執行同一句import語句,那麼只會執行一次,而不會執行多次。import同乙個模組,宣告不同變數引用,則會宣告對應變數,但只執行一次import
import "./***.js";
import "./***.js";
//相當於 import "./***.js" 了一次
import from "./***.js";
import from "./***.js";
// 相當於 import from "./***.js";
3:靜態執行特性:import是靜態執行,所以不能使用表示式和變數
//錯誤
import from "./***.js";
//錯誤
let module = "./***.js";
import from module;
//錯誤
if(true) from "./***.js";
}else from "./***.js"
}
ES6模組的import和export用法總結
es6之前已經出現了js模組載入的方案,最主要的是commonjs和amd規範。commonjs主要應用於伺服器,實現同步載入,如nodejs。amd規範應用於瀏覽器,如requirejs,為非同步載入。同時還有cmd規範,為同步載入方案如seajs。es6在語言規格的層面上,實現了模組功能,而且實...
ES6模組的import和export用法總結
es6之前已經出現了js模組載入的方案,最主要的是commonjs和amd規範。commonjs主要應用於伺服器,實現同步載入,如nodejs。amd規範應用於瀏覽器,如requirejs,為非同步載入。同時還有cmd規範,為同步載入方案如seajs。es6在語言規格的層面上,實現了模組功能,而且實...
ES6模組的import和export用法總結
es6之前已經出現了js模組載入的方案,最主要的是commonjs和amd規範。commonjs主要應用於伺服器,實現同步載入,如nodejs。amd規範應用於瀏覽器,如requirejs,為非同步載入。同時還有cmd規範,為同步載入方案如seajs。es6在語言規格的層面上,實現了模組功能,而且實...