es6

2020-09-02  本文已影响0人  Super曲江龙Kimi

esm和commonjs规范的区别

1、esm是引用赋值,并且是编译时加载。模块内部引用的变化,会反应在外部

一个模块中可以有多个export,但是只能有一个export default。
export default可以任意指定接受的名称,而export只能固定名称

2、commonjs是值拷贝,并且是运行时加载。输出的内容,就是 exports 对象的属性,模块运行结束,属性就确定了。不会再变了

module.exports 和 exports指向的是一个引用.

console.log(module.exports === exports); // true

如果修改exports = {}或者module.exports的指向,那么就不在全等. 
上一篇 下一篇

猜你喜欢

热点阅读