【发布时间】:2013-08-17 00:07:06
【问题描述】:
我有一个简单的模块,它是代码
var Router = function(pattern) {
this.setRoutePattern(pattern);
};
Router.prototype = {
setRoutePattern: function(){
this._pattern = pattern || "controller/action/id";
}
};
module.exports.router = Router;
然后在我的另一个文件中我想使用路由器并具有以下代码:
var router = require('./../routing').router();
但是这行代码失败了,没有方法异常
Object #<Object> has no method 'setRoutePattern'
为什么会发生这种情况,如果我使用 require 函数加载代码,为什么原型方法在构造函数中不可见?
【问题讨论】:
-
模块导出的数量是否超过
Router?它可能不应该(SRP),所以你可以只拥有module.exports = Router;
标签: javascript node.js prototype require commonjs