1

これが私の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 : あるモジュールのコードを別のモジュールに「含める」必要があります。これは、ブラウザー (クライアント) とサーバーの両方で共有できます。

ありがとう

4

1 に答える 1

-1

ノードとブラウザーの両方でモジュールをロードするために require.js を使用できます。

require.js ページのドキュメントを参照してください

于 2012-12-10T16:04:38.273 に答える