这是我的 Node.js 情况:
我正在尝试在我的 Node.js 服务器和游戏浏览器之间共享代码。基本上,我想分享游戏逻辑。
假设我的游戏有一个表格,而该表格可以有玩家。我希望每个模块都是客户端和服务器都可以使用的模块。
我知道我可以做这样的事情:
(function(exports){
exports.test = function(){
return 'hello world'
};
})(typeof exports === 'undefined'? this['Table']={}: exports);
我可以用我的表得到类似的东西。但是,如果我需要在这个 Table 模块中使用 Players 怎么办?就像是:
(function(exports){
exports.test = function(){
var Player = require('./Player');
var p1 = new Player();
};
})(typeof exports === 'undefined'? this['Table']={}: exports);
虽然这可以在 Node 中使用,但它显然不会在浏览器中使用,因为没有定义 require。如果没有 require,它可以在浏览器上运行,但不能在 Node.js 上运行。
TL;DR:我需要将一个模块中的代码“包含”到另一个模块中,这些代码可以由浏览器(客户端)和服务器共享。
谢谢