在Node.js開始流行起來時,NPM成為了JavaScript世界中最為流行的模塊管理平臺撩嚼。但是在JavaScript部門依然需要以CommonJS的形式獲取依賴。
由于ECMAScript或JavaScript自身并沒有類似的標準和實現(xiàn)盟戏,ES2015決定加入原生的模塊化標準
引入模塊
import name from 'module-name'
import * as name from 'module-name'
import { member } from 'module-name'
import { member as alias } from 'module-name'
import 'module-name'
暴露模塊
export const apiRoot = 'https://example.com/api'
export function method() {
// ...
}
export class Foo {
// ...
}
// 引入模塊
import { method, Foo } from 'module.js'
暴露模塊默認接口
有些時候肛循,一個模塊只需要暴露一個接口,比如使用模塊機制定義一個只含有一個單一工具類的模塊時:
// client.js
export default class Client {
// ...
}
// app.js
import Client from 'client.js'
混合使用暴露接口語句
export default class Client {
// ...
}
export const foo = 'bar'
// 引入模塊
import Client, { foo } from 'module'
從其他模塊暴露接口
// module-1.js
export function foo() { /* ... */ }
// module.js
export * from 'module-1' // 從module模塊導(dǎo)出module-1模塊
// app.js
import { foo } from 'module'
暴露模塊的部分接口
export { member } from 'module'
export { default as ModuleDefault } from 'module'
暴露模塊的默認接口
export { default } from 'module'