啥是node.js模块
node.js个人理解每个模块就是一个js文件,最大的作用其实就是分门别类,放到不同的文件夹下管理起来,防止回头看的时候只能在一个文件下找方法找类。
node.js的模块机制实现
一般是一个文件是被调用的另一个文件是调用的,前者通过module.exports来暴露出各种方法各种变量各种类
var a=0;
function b(){
return a;
};
module.exports={vara:a,fb:b};//暴露a变量为vara,暴露b方法为fb
后者通过 var index=require(module)来载入模块;
var index=require('./index');
console.log(index.vara);
console.log(index.fb);
载入后前者暴露的变量啥的就变成了后者载入后所声明变量的一个个属性,方法了。
前者的全局变量和方法类名不会污染到后者的全局变量和局部变量,因为node.js对其进行过处理使其被载入的变量变成的局部变量了。所以命名上面可以不需要在乎太多。