ES6模块化与CommonJS模块化
2019-10-25 本文已影响0人
ElricTang
ES6模块化
- 代表:Vue
- 语法:
- 导入:import xxx from、import {xxx} from
- 导出:export、export default
- 特点:
- this指向undefined
- 编译时输出接口
- 可以单独加载其中的某个接口(方法)
- 静态分析,动态引用。输出的是值的引用
CommonJS模块化
- 代表:node.js
- 语法:
- 导入:require()
- 导出:module.exports、exports
- 特点:
- this 指向当前模块
- 运行时加载。CommonJS脚本代码在require的时候,就会全部执行。一旦出现某个模板被“循环加载”,就只能输出已经执行的部分,还未执行的部分不会输出。
- 加载的是整个模块,即将所有的接口全部加载进来。
- 输出的是一个值的拷贝