考虑我想要公开一个名为Print的方法 绑定方法作为原型: 文件保存为Printer.js var printerObj = function(isPrinted) { this.printed = isPrinted; }printerObj.prototype.printNow = function(printData) { console.log('= Pri
>绑定方法作为原型:
文件保存为Printer.js
var printerObj = function(isPrinted) {
this.printed = isPrinted;
}
printerObj.prototype.printNow = function(printData) {
console.log('= Print Started =');
};
module.exports = printerObj;
然后通过在任何外部.js节点程序文件中放入代码require(‘Printer.js’).printNow()来访问printNow().
>使用module.exports导出方法本身:
文件保存为Printer2.js
var printed = false;
function printNow() {
console.log('= Print Started =');
}
module.exports.printNow = printNow;
然后通过在任何外部.js节点程序文件中放入代码require(‘Printer2.js’).printNow()来访问printNow().
任何人都能说出与Node.js有什么区别和最佳方式吗?
绝对是第一种方式.它被称为子包模式,您可以在 Twitter和Mikeal Rogers的 blog上阅读它.有些代码示例可以在解析器的 jade github repo找到:var Parser = exports = module.exports = function Parser(str, filename, options){
this.input = str;
this.lexer = new Lexer(str, options);
...
};
Parser.prototype = {
context: function(parser){
if (parser) {
this.contexts.push(parser);
} else {
return this.contexts.pop();
}
},
advance: function(){
return this.lexer.advance();
}
};
