模块化

在Node.js开始流行起来时,NPM成为了JavaScript世界中最为流行的模块管理平台。但是在JavaScript部门依然需要以CommonJS的形式获取依赖。
由于ECMAScript或JavaScript自身并没有类似的标准和实现,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模块导出module-1模块

// app.js
import { foo } from 'module'

暴露模块的部分接口

export { member } from 'module'
export { default as ModuleDefault } from 'module'

暴露模块的默认接口

export { default } from 'module'

你可能感兴趣的:(模块化)