javascript Commonjs:概述 JavaScript CommonJS 是一个模块化开发标准,旨在帮助开发者轻松创建和管理模块化代码。它提供了一套通用的 api,允许开发者将代码分解为独立的模块,并方便地在不同模块之间共享
JavaScript CommonJS 是一个模块化开发标准,旨在帮助开发者轻松创建和管理模块化代码。它提供了一套通用的 api,允许开发者将代码分解为独立的模块,并方便地在不同模块之间共享数据和函数。CommonJS 最初由 Mozilla 开发,但现在已被广泛应用于 node.js、webpack 等 JavaScript 构建工具中。
CommonJS 的核心概念是模块,模块是代码的一个独立单元,可以包含函数、变量和类等内容。模块之间通过 require() 函数进行通信,require() 函数的作用是加载指定模块并返回其导出的内容。
const mod = require("module-name");
console.log(mod.function());
上面的代码加载了名为 module-name 的模块,并调用了该模块导出的 function() 函数。
模块导出的内容可以通过 module.exports 或 exports 对象进行指定,module.exports 是一个特殊的对象,指向当前模块导出的内容,而 exports 则是 module.exports 的别名。
const mod = require("module-name");
console.log(mod.foo); // 输出: "bar"
const { foo } = require("module-name");
console.log(foo); // 输出: "bar"
上面的代码加载了名为 module-name 的模块,并分别通过 module.exports 和 exports 对象导出了 foo 变量。
创建一个 CommonJS 模块非常简单,只需要创建一个 JavaScript 文件,并使用 module.exports 或 exports 对象导出需要共享的内容即可。
// module-name.js
const foo = "bar";
module.exports = { foo };
要加载一个 CommonJS 模块,可以使用 require() 函数。require() 函数的参数是模块的名称,它会返回该模块导出的内容。
// main.js
const mod = require("./module-name");
console.log(mod.foo); // 输出: "bar"
CommonJS 也支持导出函数,只需要将函数赋值给 module.exports 或 exports 对象即可。
// module-name.js
function foo() {
console.log("Hello, world!");
}
module.exports = foo;
// main.js
const mod = require("./module-name");
mod(); // 输出: "Hello, world!"
CommonJS 也支持导出类,只需要将类赋值给 module.exports 或 exports 对象即可。
// module-name.js
class Foo {
constructor() {
this.foo = "bar";
}
}
module.exports = Foo;
// main.js
const mod = require("./module-name");
const foo = new mod.Foo();
console.log(foo.foo); // 输出: "bar"
CommonJS 和 ES6 模块是 JavaScript 的两种不同的模块化开发标准。CommonJS 早于 ES6 模块,因此它在语法和语义上都有所不同。
要在项目中使用 CommonJS 模块,需要先安装模块化打包工具,如 WEBpack 或 Browserify。这些工具可以将 CommonJS 模块打包成可以在浏览器中运行的代码。
// package.JSON
{
"dependencies": {
"webpack": "^5.70.0",
"module-name": "^1.0.0"
}
}
// webpack.config.js
const path = require("path");
module.exports = {
entry: "./main.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "bundle.js"
},
module: {
rules: [
{
test: /.js$/,
loader: "babel-loader"
}
]
}
};
// main.js
const mod = require("./module-name");
console.log(mod.foo);
--结束END--
本文标题: JavaScript CommonJS:模块化开发的终极指南,让你轻松成为开发高手!
本文链接: https://lsjlt.com/news/561802.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0