美文网首页
CommonJs和ES6 module的区别

CommonJs和ES6 module的区别

作者: townYouth | 来源:发表于2021-08-06 17:25 被阅读0次

CommonJS 是一种模块规范,最初被应用于 Nodejs,成为 Nodejs 的模块规范。

运行在浏览器端的 JavaScript 由于也缺少类似的规范,在 ES6 出来之前,前端也实现了一套相同的模块规范 (例如: AMD),用来对前端模块进行管理。

自 ES6 起,引入了一套新的 ES6 Module 规范,在语言标准的层面上实现了模块功能,而且实现得相当简单,有望成为浏览器和服务器通用的模块解决方案。但目前浏览器对 ES6 Module 兼容还不太好,我们平时在 Webpack 中使用的 export 和 import,会经过 Babel 转换为 CommonJS 规范。在使用上的差别主要有:

CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用

CommonJS 模块是运行时加载,ES6 模块是编译时输出接口

CommonJs 是单个值导出,ES6 Module可以导出多个

CommonJs 是动态语法可以写在判断里,ES6 Module 静态语法只能写在顶层

CommonJs 的 this 是当前模块,ES6 Module的 this 是 undefined

转载自:https://www.zhihu.com/question/62791509/answer/1535800470

相关文章

  • 2019-08-12

    import函数 CommonJS模块和ES6模块的区别 exports与module.exports的区别 mo...

  • [学习笔记]CommonJS和 es6 module区别

    无模块时有哪些问题1.命名冲突2.无依赖管理 CommonJS 和 es6 module的区别: CommonJS...

  • ESM和CJS区别

    ES6 Module和CommonJS区别 区别一 前者属于编译时加载,即静态加载,在编译时就能够确定模块的依赖关...

  • JS模块化

    模块化规范:CommonJS,AMD,CMD,UMD,ES6 Module CommonJS CommonJS是服...

  • CommonJS 和 ES6 Module 究竟有什么区别?

    CommonJS 和 ES6 Module 究竟有什么区别? 作为前端开发者,你是否也曾有过疑惑,为什么可以代码中...

  • CommonJS 和 ES6 Module 究竟有什么区别

    CommonJS 和 ES6 Module 究竟有什么区别? 作为前端开发者,你是否也曾有过疑惑,为什么可以代码中...

  • 前端模块化:ES6,CommonJS

    前端模块化 共有四种规范 ES6 Module CommonJS AMD CMD ES6 Module ES6模块...

  • Webpack 个人理解的脑图

    Webpack 特色 模块规范 Webpack 同时支持 AMD 、 CommonJS 和 ES6 module ...

  • CommonJs和ES6 module的区别

    CommonJS 是一种模块规范,最初被应用于 Nodejs,成为 Nodejs 的模块规范。 运行在浏览器端的 ...

  • 模块

    记录下 commonjs模块和es6模块的使用方法 commonjs模块 Node内部提供一个Module构建函数...

网友评论

      本文标题:CommonJs和ES6 module的区别

      本文链接:https://www.haomeiwen.com/subject/kohivltx.html