modules是ES6引入的最重要的一个特性。
以后写模块的时候就直接按照ES6的modules语法来写 ,然后用babel+browserify 来打包就行了。
modules规范分两部分,一部分是如何导出,一部分是如何导入。
基本用法
命名导出(named exports)
可以直接在任何变量或者函数前面加上一个 export
关键字,就可以将它导出。 这种写法非常简洁,和平时几乎没有区别,唯一的区别就是在需要导出的地方加上一个 export 关键字。 比如:
export const sqrt = Math.sqrt;export function square(x) { return x * x;}export function diag(x, y) { return sqrt(square(x) + square(y));}
然后在另一个文件中引用的时候 。
import { square, diag } from 'lib';console.log(square(11)); // 121console.log(diag(4, 3));
小伙伴们可以在自己的工程的文件可以看到 。这个自己去找找看。
export * from 'src/other_module';export { foo, bar } from 'src/other_module';export { foo as myFoo, bar } from 'src/other_module';
export from 就是用来到处由其他地方导入的模块 。 仔细的看一下这一句话 。