
上QQ阅读APP看书,第一时间看更新
3.11 Modules(模块)
众所周知,在ES6版之前JavaScript并不支持本地的模块,于是人们想出了AMD、RequireJS、CommonJS及其他解决方法。如今ES6中可以用模块import和export操作了。在ES5中,可以在<script>中直接写可以运行的代码(简称IIFE)或一些库,如AMD。然而在ES6中,可以用export导入类。下面举个例子,在ES5中,module.js有port变量和getAccounts()方法:

但在ES6中,将用export和import进行一个模块的引入和抛出。例如,以下是使用ES6写的module.js文件库:

如果用ES6将上述的module.js导入到文件main.js中,那么就变得非常简单了,只需使用import{name}from my-module语法即可,例如:

或者可以在main.js中导入整个模块,并命名为:
