从编程思想上来讲,基于模块化的开发已经越来越普及了,ES6对于模块化的支持,更是一个不错的语法糖,下面我们来看一下具体的使用方法:
ES6支持导入,导出(export, import) 从相关全局模块。如下:
// lib/math.js
export function sum (x, y) { return x + y }
export var pi = 3.141593
// someApp.js
import * as math from "lib/math"
console.log("2π = " + math.sum(math.pi, math.pi))
// otherApp.js
import { sum, pi } from "lib/math"
console.log("2π = " + sum(pi, pi))
这里着重说明一点 * 号的作用,当一个模块中export了多个值,import的时候我们可以用* as的形式代替,这样可以简化书写方式,如果大家不喜欢,也可以使用{ } 的形式。
对export, 可以指定一个默认的是值,这样在导入的时候就会自动引入默认值, 如下:
// lib/mathplusplus.js
export * from "lib/math"
export var e = 2.71828182846
export default (x) => Math.exp(x)
// someApp.js
import exp, { pi, e } from "lib/mathplusplus"
console.log("e^{π} = " + exp(pi))
对于ES6模块化的思想非常简单,大家理解了吗,试试吧!