下面例子以a.js & b.js爲例,兩者 在同一目錄且在b.js中引入a.js模塊markdown
// 寫法一 export const m = 1; import {m} from './a'; // 寫法二 const m = 1; export {m}; import {m} from './a'; // 寫法三 const n = 1; export {n as m}; import {m} from './a'; // 寫法四 export function f() {}; import {f} from './a'; // 寫法五 function f() {} export {f}; import {f} from './a'; 複製代碼
下面寫法用export default命令,爲模塊指定默認輸出,讓其餘調用該模塊時不用閱讀文檔就能加載模塊函數
// 寫法六 function f() {} export default f; // f函數的函數名f,在模塊外部是無效的。加載的時候,視同匿名函數加載。 const m = {}; export default m; // 定義的對象常量名m,在模塊外部是無效的,加載的時候,視同匿名函數加載。 import a from './a' 複製代碼
此種狀況import命令能夠爲該匿名函數指定任意名字,這裏import後的a就是隨意命名的導入變量名。spa
// 寫法七 export default function () {}; import pro from './a'; 複製代碼
import
的例子:code
import {firstName, lastName, year} from './profile'; import * as pro from './profile'; import pro from './profile'; 複製代碼
export
import './lib/test'; 複製代碼
上面例子將會執行從頭至尾執行引入的js文件,固然,會忽略js文件裏export
,因此這種引入方式並不會關注是否有export
。orm
improt * from ''
能夠認爲是 import {default as *} from ''
的語法糖對象