導(dǎo)出變量用法1
// good
export var firstName = 'Michael';
export var lastName = 'Jackson';
export var year = 1958;
// bad
export 1; // 報(bào)錯;因?yàn)闆]有提供對外的接口叼屠,兩種錯誤其實(shí)都是因?yàn)橹苯訉?dǎo)出值了
導(dǎo)出變量用法2
// good
var firstName = 'Michael';
var lastName = 'Jackson';
var year = 1958;
export {firstName, lastName, year};
// bad
var m = 1;
export m; // 報(bào)錯偶宫;因?yàn)闆]有提供對外的接口,兩種錯誤其實(shí)都是因?yàn)橹苯訉?dǎo)出值了
導(dǎo)出函數(shù)用法1
// good
export function multiply(x, y) {
return x * y;
};
// bad
function f() {}
export f; // 報(bào)錯环鲤;因?yàn)闆]有提供對外的接口纯趋,兩種錯誤其實(shí)都是因?yàn)橹苯訉?dǎo)出值了
導(dǎo)出函數(shù)用法2
// good
function v1() { ... }
function v2() { ... }
export {
v1 as streamV1,
v2 as streamV2,
v2 as streamLatestVersion
};
// bad
function foo() {
export default 'bar' // SyntaxError
}
foo()
// 這種錯誤是因?yàn)閑xport命令必須處于模塊頂層才可以,也就是不能出現(xiàn)在代碼塊里面冷离,這里涉及到import的編譯時加載原理
導(dǎo)出類
export default class { ... }