cjs,mjs和.js是用于表示不同类型的JavaScript文件的文件扩展名。这是它们之间的区别:
-
.js(javaScript):
.js扩展名是JavaScript文件最常见的文件扩展名。它用于指示文件包含JavaScript代码。 .js文件可以在不同的JavaScript环境中执行,例如Web浏览器,服务器和其他JavaScript运行时环境。 -
cjs(commonjs):参考 CONCORJS是用于在Node.js等服务器端环境中使用的JavaScript的模块系统。 CJS模块格式允许您使用
require
和module.exports
语法定义模块。在concomjs中,每个文件被视为一个单独的模块,您可以使用require
和module.exports
在模块之间导入/导出功能。
commonjs模块通常用于node.js应用程序和其他服务器端JavaScript环境中。您通常会使用CommonJS模块格式找到带有.js扩展名的文件。
- MJS(ecmascript模块): MJS是用于遵守eCmascript模块(ESM)规范的JavaScript文件的扩展名。 eCmasixt模块是JavaScript语言标准的一部分,并提供了定义模块的更现代和标准化的方法。
ecmasixt模块使用import
和export
关键字来定义依赖关系并揭示模块之间的功能。与主要用于服务器端环境中的commonj不同,可以在支持它们的浏览器和服务器端环境中使用ecmascript模块。
MJS扩展程序通常用于指示JavaScript文件使用ecmascript模块格式,从而更易于区分使用CommonJS和Ecmascript模块的文件。
总而言之,.js文件是JavaScript文件的一般扩展程序,而CJS和MJ是用于指定模块格式(commonjs and ecmascript模块)的扩展名,用于不同的环境和目的。
以下是一些示例来说明每个文件扩展名的使用:
- .js(JavaScript):
// script.js
function sayHello() {
console.log("Hello, world!");
}
sayHello();
- cjs(commonjs):
// moduleA.js
const message = "Hello, from Module A!";
module.exports = message;
// moduleB.js
const messageA = require("./moduleA");
console.log(messageA);
- MJS(ecmascript模块):
// moduleA.mjs
const message = "Hello, from Module A!";
export default message;
// moduleB.mjs
import messageA from "./moduleA";
console.log(messageA);
在第一个示例中,.js文件包含可以在任何JavaScript环境中执行的常规JavaScript代码。
第二个示例演示了使用COMONJS模块的使用。每个文件都被视为一个单独的模块,并且使用模块。Exports语句用于将功能从一个模块曝光到另一个模块。要求语句用于导入导出的功能。
第三个示例展示了eCmascript模块。 MJS扩展名用于指示JavaScript文件遵守Ecmascript模块格式。导出语句用于公开功能,导入语句用于从其他模块导入导出功能。
请注意,CJS或MJS模块的使用取决于所使用的特定JavaScript运行时或环境。