解析后缀.js、.mjs和.cjs:JavaScript文件类型的区别与使用
在Node.js中,后缀为.js
、.mjs
和.cjs
的文件都被视为JavaScript文件。它们之间的区别在于如何导入模块以及如何处理模块的语法。
.js
:这是Node.js中默认的文件扩展名,没有特殊配置时,无论是import
还是require
都可以正常使用。.mjs
:这是ECMAScript模块的标准扩展名。在Node.js中,要使.mjs
文件正常工作,需要在package.json
中添加"type": "module"
声明,或者在命令行启动Node.js时使用--experimental-modules
标志。.cjs
:这是Node.js中的CommonJS扩展名,它是Node.js原生支持的模块系统。
例子代码:
// profile.js (CommonJS模块)
module.exports = {
name: 'Alice',
age: 25
};
// main.js (CommonJS模块)
const profile = require('./profile.cjs');
console.log(profile);
// 或者使用ES模块导入
import profile from './profile.mjs';
console.log(profile);
在上述代码中,profile.js
是一个CommonJS模块,它使用module.exports
导出数据。在main.js
中,我们使用require
来导入CommonJS模块。对于profile.mjs
,它是一个ECMAScript模块,它使用export
关键字导出数据,并且需要在package.json
中声明"type": "module"
或使用--experimental-modules
标志。
注意:在实际开发中,为了保持代码的兼容性和清晰性,通常会选择一种模块系统进行使用,而不是混合多种。
评论已关闭