服务器端的Node.js遵循CommonJS规范。核心思想是允许模块通过require 方法来同步加载所要依赖的其他模块,然后通过 exports或module.exports来导出需要暴露的接口。
wx小游戏与是采用的commonjs规范,但是跟nodejs不同的是,会导致死锁. 例如a.js require(b.js), b.js require(a.js)
ES6在语言规格的层面上,实现了模块功能,而且实现得相当简单,完全可以取代现有的CommonJS和AMD规范,成为浏览器和服务器通用的模块解决方案。
ES6模块主要有两个功能:export和import
export用于对外输出本模块(一个文件可以理解为一个模块)变量的接口
import用于在一个模块中加载另一个含有export接口的模块。
a.js
- var helloworld="helloworld";
- var name="hongong"
- export {helloworld, name}
b.js
- import {helloworld,name} from "./a.js"
- console.log(helloworld, name)