考虑我想要公开一个名为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(); } };