我在我的NodeJS应用程序中创建了一个类,并使用module.exports
和require()
语句将其带入我的主服务器脚本:
// ./classes/clientCollection.js
module.exports = function ClientCollection() {
this.clients = [];
}
// ./server.js
var ClientCollection = require('./classes/clientCollection.js');
var clientCollection = new ClientCollection();
现在我想将函数添加到我的类中:
ClientCollection.prototype.addClient = function() {
console.log("test");
}
然而,当我这样做时,我收到以下错误:
ReferenceError: ClientCollection is not defined
如何在NodeJS应用程序中使用原型设置向类中正确添加函数?
答案 0 :(得分:3)
我认为你需要。
function ClientCollection (test) {
this.test = test;
}
ClientCollection.prototype.addClient = function() {
console.log(this.test);
}
module.exports = ClientCollection;
或
function ClientCollection () {
}
ClientCollection.prototype = {
addClient : function(){
console.log("test");
}
}
module.exports = ClientCollection;
答案 1 :(得分:1)
由于种种原因,这个结构:
module.exports = function ClientCollection() {
this.clients = [];
}
没有在函数本身之外定义符号ClientCollection
,所以你不能在模块的其他地方引用它来添加到原型中。因此,您需要在外部定义它,然后将其分配给导出:
function ClientCollection() {
this.clients = [];
}
ClientCollection.prototype.addClient = function() {
// code here
}
module.exports = ClientCollection;