1

使用する関数を含む JS ファイルをインポートしましたが、Node.JS はそれが未定義であると言います。

require('./game_core.js');

Users/dasdasd/Developer/optionalassignment/games.js:28
    thegame.gamecore = new game_core( thegame );
                       ^
ReferenceError: game_core is not defined

何が悪いのか分かりますか?Game_core には次の関数が含まれています。

var game_core = function(game_instance){....};
4

3 に答える 3

4

game_core.js の末尾に追加します。

module.exports = {  
    game_core : game_core  
}  

games.js へ:

var game_core = require('./game_core').game_core(game_istance);
于 2012-08-10T19:39:54.410 に答える
2

ノードでモジュールを要求しても、その内容はグローバル スコープに追加されません。すべてのモジュールは独自のスコープにラップされているため、公開名をエクスポートする必要があります。

// game_core.js
module.exports = function (game_instance){...};

次に、エクスポートされたオブジェクトへの参照をメイン スクリプトに保持します。

var game_core = require('./game_core.js');
...
thegame.gamecore = new game_core( thegame );

ドキュメントで詳細を読むことができます: http://nodejs.org/api/modules.html#modules_modules

于 2012-08-10T19:40:27.760 に答える
0

別のアプローチ:

if( 'undefined' != typeof global ) {
    module.exports = global.game_core = game_core;
}
于 2012-08-10T19:43:55.730 に答える