Nodejs需要具有初始化器的类
例如,我有以下类
var Person = function(name) { this.sayHi = function() { return "Hello, " + name + "!"; } } exports.Person = Person;
在nodejs中,我试过了
var Person = require('modulename').Person('Will');
但这只是给了身份不明的人。 我如何要求在Nodejs中有初始化器的类?
var mod = require('modulename'); var somePerson = new mod.Person('Will');
在你的代码中,你直接调用构造函数而不用new
,所以this
被绑定到全局上下文,而不是一个新的Person
对象。 而且由于你没有在你的函数中返回this
,你得到了未定义的错误。
find了修复程序,虽然看起来稍微有一点点兴趣,但是我只想在一行中导入,因为导入类也只是创build了一个看起来不好的实例。 我想这不是被解释为一个function。 @ThiefMaster感谢“新”,我也忘了:/
var will = new (require('modulename').Person)('Will')