博客 / 詳情

返回

ES modules的導出方式

Named Exports

// module1.js
export const name = 'Ben';

// app.js
import { name } from './module1.js'
console.log(name);
// Ben
// module1.js
const name = 'Ben';
export { name };

// app.js
import { name } from './module1.js'
console.log(name);
// Ben

通過觀察上面的代碼我們發現,該方式導出的模塊內容,必須用解構的方式訪問,也就是無法直接用module1.name這樣的方式訪問。

Default Exports

Default Exports的導出方式,剛好可以補充Named Exports的對象訪問方式。

// module1.js
const name = 'Ben';
export default {
    name
};

// app.js
import module1 from './module1.js'
console.log(module1.name);
// Ben

其它

對於Named Exports的導出方式,如果非要使用對象的訪問方式,則可以使用* as xxx語法,將模塊中所有Named Exports導出的數據合併為一個對象,來達到目的。

// module1.js
export const name = 'Ben';

// app.js
import * as obj from './module1.js'
console.log(obj.name);
// Ben
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.