NodeJS模块化
Node.js中默认的模块系统使用的是CommonJS模块化,它为服务器端JavaScript提供了一种结构化和模块化的开发方式。通过CommonJS规范,开发者可以将代码分成不同的模块,并且轻松地进行加载和使用。
Node.js中根据模块来源的不同,将模块分为3大类:
1、内置模块(内置模块是由 Node.js 官方提供的,例如 fs、path、http 等)。
2、自定义模块(用户创建的每个 .js 文件,都是自定义模块)。
3、第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载)。
CommonJS是一种模块规范,为Nodejs的模块规范。
CommonJS中,一个文件就是一个模块,定义一个模块导出通过exports或者module.exports挂载即可。CommonJS加载模块时,使用require,使用exports来做模块输出,还有module,__filename, __dirname这些变量。
案例一(module.exports)
fn.js
function print(){
console.log('print');
}
function add(x,y){
return x+y;
}
module.exports={
print,
add
}
const fn = require("./fn.js")
fn.print();
console.log(fn.add(1,2));
案例二(exports)
fn2.js
exports.print = ()=>{
console.log('print');
}
exports.add = (x,y)=>{
return x+y;
}
const fn = require("./fn2.js");
fn.print();
console.log(fn.add(1,2));