使用cjs或mjs
使用cjs或mjs
vkrain使用cjs或mjs
.cjs
和 .mjs
是 Node.js 中用于区分 CommonJS 和 ECMAScript 模块的文件扩展名。
.cjs
扩展名用于 CommonJS 模块。CommonJS 是 Node.js 最初使用的模块系统,它使用require()
和module.exports
来导入和导出模块。.mjs
扩展名用于 ECMAScript 模块。这是 ECMAScript 6 中引入的模块系统,它使用import
和export
关键字来导入和导出模块。
Node.js 12 及以上版本支持 .mjs
文件扩展名来指示文件为 ECMAScript 模块。使用 .mjs
扩展名的文件将被 Node.js 解析为 ECMAScript 模块,并且可以使用 import
和 export
语法。
对于 Node.js 13 及以上版本,默认情况下,文件扩展名为 .js
的文件被视为 CommonJS 模块,而文件扩展名为 .mjs
的文件被视为 ECMAScript 模块。
如果你想要在 Node.js 中使用 ECMAScript 模块,你可以将文件的扩展名命名为 .mjs
,并在文件中使用 import
和 export
语法。如果你想要使用 CommonJS 模块,你可以继续使用 .js
扩展名,并在文件中使用 require()
和 module.exports
。
Node.js 可以运行 CommonJS 模块和 ECMAScript 模块。
- CommonJS 模块是 Node.js 最初使用的模块系统,它使用
require()
和module.exports
来导入和导出模块。Node.js 早期版本默认支持 CommonJS 模块,并且.js
扩展名的文件被视为 CommonJS 模块。 - ECMAScript 模块是 ECMAScript 6 中引入的模块系统,它使用
import
和export
关键字来导入和导出模块。Node.js 12 及以上版本支持 ECMAScript 模块,并且可以通过将文件扩展名命名为.mjs
来指示文件为 ECMAScript 模块,或者在package.json
文件中的"type"
字段设置为"module"
来启用 ECMAScript 模块支持。
eslint.config.js
:- 这是一个 CommonJS 格式的 ESLint 配置文件。它使用
module.exports
导出配置对象,并且可以在其中使用 CommonJS 的require()
导入其他模块。这是 Node.js 默认支持的模块系统,适用于大多数 Node.js 项目。
- 这是一个 CommonJS 格式的 ESLint 配置文件。它使用
eslint.config.mjs
:- 这是一个 ES6 模块格式的 ESLint 配置文件。它使用
export default
导出配置对象,并且可以在其中使用 ES6 的import
导入其他模块。这种格式是 ECMAScript 6 中引入的模块语法,可以在支持 ES6 模块的环境中使用,例如 Node.js 12 及以上版本。
- 这是一个 ES6 模块格式的 ESLint 配置文件。它使用
eslint.config.cjs
:- 这是一个 CommonJS 格式的 ESLint 配置文件,但是它使用
.cjs
扩展名来明确指示它是一个 CommonJS 模块。在一些特定的情况下,比如 Node.js 12 以下版本或者在一些遗留的项目中,你可能会选择使用.cjs
扩展名来确保文件被正确地识别为 CommonJS 模块。
- 这是一个 CommonJS 格式的 ESLint 配置文件,但是它使用