在节点JS中使用传统的JavaScript对象
我正在努力做一个NODE JS项目,并且学习Node JS结构的入口和出口。 我已经看遍了互联网,找出如何做到这一点,没有或几乎没有运气。 问题如下:
我有一个叫做player的类,它是在一个名为player.js的文件中创build的
var playa = function () { this.createPlayer = function(){ } }
在我的index.js文件中,我链接了我的播放器
var playa = require("./player.js");
但是,当我试图引用我的球员
io.on('connection', function(socket){ var player = new playa(); player.createPlayer(); });
控制台告诉我,playa不是一个function,服务器停止。
- 我甚至允许在节点中使用传统的OOP JS? 如果我将这个类移动到index.js文件中,它会非常出色,但是由于类很大,所以它会变得不稳定,我打算至less使用5个类。
2.如果可能的话,也可以这样构build我的对象,那么我如何链接它们/正确引用它们?
- 如果既不可能也不可能,那么构build我的对象的正确方法是什么? 我希望不要脱离现在的惯例,因为这是我习惯的,我需要创build多个球员的实例。
如果将构造函数作为module.exports
的属性 module.exports
,则必须将其作为从require()
返回的值的属性引用它:
var playa = require("./player.js"); var player = new playa.playa();
如果你想require()
返回函数本身,你可以写
module.exports = function() { this.createPlayer = function(){ } }
将此添加到您的player.js文件的底部
module.exports.playa = playa;
这将允许“class级”可用
编辑
您将需要创build一个如下所示的实例:
var p = require('./player.js') var player = new p.playa();