module
什么是module?
module就是一个包含js代码的文件,module里默认使用use strict,module里可以使用export和import。
export和import的使用方法:
//lib.js export var myVar1=... export let myVar2=... export const myVar3=... export function myFunc() { ... } export function* myGenerator() { ... } export class MyClass= { ... } //main.js import { MyClass, myVar1, myFunc } from 'lib.js' myFunc() //当作一个变量使用
export多个对象
export {myVar1, myVar2, myVar3}
使用as可以对export对象重命名
//lib.js export { myVar1 as var1, myVar2 as var2, myFunc as func } //main.js import { var1, var2 } from 'lib.js'
import重命名也可以使用as
<pre><code>import { var1 as myVar1, var2 as myVar2 } from 'lib.js'</code></pre>
import * 可以导入模块中所有的exports
<pre><code>import * as lib from 'lib.js'</code></pre>
default export
//lib.js export defalut class {...} //main.js import defaultClass, {myFunc, myVar1} from 'lib.js'
Re-exporting
export * from 'lib.js'
export {myClass, myFunc} from 'lib.js'
import 'style/css'
相关链接:
https://hacks.mozilla.org/2015/08/es6-in-depth-modules/
http://zhuanlan.zhihu.com/FrontendMagazine/20238288
http://www.2ality.com/2014/09/es6-modules-final.html