これが私のNode.jsの状況です:
ゲームの Node.js サーバーとブラウザーの間でコードを共有しようとしています。基本的に、ゲームのロジックを共有したいと考えています。
私のゲームにはテーブルがあり、そのテーブルにはプレイヤーがいるとしましょう。これらのそれぞれを、クライアントとサーバーの両方で使用できるモジュールにしたいと考えています。
私はこのようなことができることを知っています:
(function(exports){
exports.test = function(){
return 'hello world'
};
})(typeof exports === 'undefined'? this['Table']={}: exports);
そして、このようなものをテーブルで動作させることができます。しかし、この Table モジュール内で Player を使用する必要がある場合はどうすればよいでしょうか? 何かのようなもの:
(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 : あるモジュールのコードを別のモジュールに「含める」必要があります。これは、ブラウザー (クライアント) とサーバーの両方で共有できます。
ありがとう