-
CommonJS规范
Node 应用由模块组成,采用 CommonJS 规范
导出模块采用module.exports,module.exports是一个对象,也是导出的接口
导入模块采用require引入这个对象
javascript
// example.js |
导出和引入 example.js 中的模块
挂载 module.exports 对象上导出和引入
javascript
// 导出1,分别导出 |
只导出一个目标时,不使用对象形式
Javascript
// 导出 |
ES6模块规范
export命令用于规定模块的对外接口,import命令用于引入其他模块提供的功能。
导出和引入 example.js 中的模块
javascript
// example.js |
javascript
// 导出 |
只导出一个目标时使用 export default
Javascript
// 导出 |
浏览器加载 ES6 模块
浏览器加载 ES6 模块,也使用<script>标签,但是要加入type="module"属性
html
<script type="module" src="./test.js"></script> |
上面代码在网页中插入一个模块test.js,由于 type 属性设置为 module,所以浏览器知道这是一个 ES6 模块
浏览器对于type=module的<script>,都是异步加载,相当于设置了defer属性,延迟脚本会等到整个页面渲染完再执行模块脚本,避免浏览器阻塞。
如果页面有多个<script type="module">,它们会按照在页面的顺序依次执行