CMD模块定义规范
经常使用的 API 只有 define
, require
, require.async
, exports
,module.exports
这五个。
**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
node.js的模块化
module.js
/*Node.js创建模块*/
/*普通定义函数*/
var x,y;
<span style="color:#ff0000;">exports</span>.setArgs = function(a,b){
x = a;
y = b;
}
exports.mult = function(){
console.log(x + '和' + y + '的乘积是:' + x*y);
}
/*封装成函数(模拟类的概念)*/
function calc(){
var x,y;
this.setArgs = function(a,b){
x = a;
y = b;
console.log("设置参数成功!");
};
this.mult = function(){
console.log(x + '和' + y + '的乘积是:' + x*y);
};
this.add = function(){
console.log(x + '和' + y + '的和是:' + (x+y));
};
}
// exports.calculator = calc;/*方法一:通过实例化calculator对象来调用calc()中的相关方法*/
<span style="color:#ff0000;">module.exports</span> = calc;/*方法二:直接导出calc()进行实例化使用相关方法*/
getModule.js
/*普通定义的使用*/
var module = <span style="color:#ff0000;">require("./module");</span>
module.setArgs(5,4);
module.mult();
/*方法一*/
var module = require("./module").calculator; //获得calculator对象
console.log(module);
var moduleEntity = new module(); //实例化,如果不做这一步,想直接通过module.Func会出错
console.log(moduleEntity.setArgs); //验证moduleEntity是否可以正常调用函数
moduleEntity.setArgs(4,2); //验证通过,此方法可以使用
moduleEntity.add();
moduleEntity.mult();
/*方法二*/
var Calculator = require("./module");
calculator = new Calculator();
calculator.setArgs(7,3);
calculator.add();
运行:打开cmd模式,进入module.js 和 getModule.js文件所在路径,运行node getModule.js
未完待续。。。。