解析后缀.js、.mjs和.cjs:JavaScript文件类型的区别与使用
warning:
这篇文章距离上次修改已过429天,其中的内容可能已经有所变动。
在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标志。
注意:在实际开发中,为了保持代码的兼容性和清晰性,通常会选择一种模块系统进行使用,而不是混合多种。
评论已关闭