ES6 模块 和 CommonJS 模块

ES6 模块 和 CommonJS 模块 就是 JavaScript 语言的 两种格式,CommonJS 模块 是node.js 专用。这两种模块不兼容


语法 Node.js ES6
加载 require() import
顺序 同步加载 异步加载
输出 module.exports export

下面以文件形式图解区分:

  • .mjs文件总是以 ES6 模块加载
  • .cjs文件总是以 CommonJS 模块加载
  • .js文件的加载取决于package.json里面type字段的设置

node.js区分
[注意]: ES6 模块与 CommonJS 模块尽量不要混用。混用乱加载会报错


同时支持两种格式的模块:配置package.json文件的exports字段,指明两种格式模块各自的加载入口

"exports"{
    
     
    "require": "./index.js""import": "./esm/wrapper.js" 
}

上面代码指定require()和import,加载该模块会自动切换到不一样的入口文件。

猜你喜欢

转载自blog.csdn.net/qq_41096878/article/details/114114091