ES6 模块与 CommonJS 模块的差异

Posted 山水一程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 模块与 CommonJS 模块的差异相关的知识,希望对你有一定的参考价值。

  • ES6 模块与 CommonJS 模块的差异
区别 CommonJS 模块 ES6 模块 原因
起作用的时机 CommonJS 模块是运行时加载(运行时) ES6 模块是编译时输出接口(编译时) CommonJS 加载的是一个对象(即module.exports属性),该对象只有在脚本运行完才会生成。而 ES6 模块不是对象,它的对外接口只是一种静态定义,在代码静态解析阶段就会生成。
模块输出 CommonJS 模块输出的是一个值的拷贝 ES6 模块输出的是值的引用

以上是关于ES6 模块与 CommonJS 模块的差异的主要内容,如果未能解决你的问题,请参考以下文章

ES6 模块与 CommonJS 模块的差异

ES6与 CommonJS 模块化的区别

一文彻底弄懂 “CommonJs” 与 “EsModule” 区别

js当中CommonJS 和es6的模块化引入方案以及比较

node 环境下一个文件如何同时支持 import 和 require

commonjs 与 ES6 模块化