NodeJS - 多个对象分布在多个文件中但位于同一名称空间中

NoP*_*God 7 javascript node.js

我在NodeJS中编写了一个多人棋盘游戏服务器,我有几个不同的对象,如游戏,用户,棋盘等.目前,所有这些对象都驻留在由NodeJS执行的单个'sever.js'文件中.

随着我的项目的发展,这个单个文件变得越来越拥挤,难以导航.

我想要的是将这些对象拆分成多个js文件,但不必在整个地方使用require函数.

我希望继续创建这样的对象 -

game = new Game();
Run Code Online (Sandbox Code Playgroud)

而不是这个 -

game = new (require('game')).Game()
Run Code Online (Sandbox Code Playgroud)

-

编辑:

NodeJS的正确做法是什么?

Jam*_*mes 7

好吧,你可以做一些小事.

首先,当您在另一个文件中定义您的类时(需要),您可以module.exports直接定义,即

module.exports = function Game() {...};
Run Code Online (Sandbox Code Playgroud)

然后,而不是:

game = new (require('game')).Game()
Run Code Online (Sandbox Code Playgroud)

你可以做:

game = new (require('game'));
Run Code Online (Sandbox Code Playgroud)

或者,我更喜欢的是在顶部定义所有要求:

var Game = require('game'),
    User = require('user');

// Use them:
new Game();
new User();
Run Code Online (Sandbox Code Playgroud)

你可以创建一些花哨的加载器,直接遍历并自动需要所有的JS文件,但我真的不认为这是值得的.

  • +1.这(需要在顶部)是Node应用程序和库中的常见做法. (3认同)