0

ここの指示に基づいて、RequireJS を使用してノード プロジェクトにサーバー側モジュールをロードしようとしています: http://requirejs.org/docs/node.html

私のブートファイルは次のようになります。

var requirejs = require( "requirejs" );

requirejs.config({ nodeRequire: require });

requirejs([ "app" ], function( app ) {

  app.listen(80, function(){
    console.log( "We be shuffling..." );
  });

});

次に、私はそのようなアプリファイルを持っています...

requirejs([

    "express"

  ], function ( express ) {

  var app = express();

  app.configure( "development", function(){
    app.use( express.errorHandler() );
  });

  return app;

});

...しかし、これはたくさんのエラーを吐き出すだけです:

timers.js:103 if (!process.listeners('uncaughtException').length) throw e; ^ TypeError: Object.context.execCb (/home/ssp/node_modules/requirejs/bin/r.js:1729:33) で /home/ssp/boot.js:13:7 で undefined のメソッド 'listen' を呼び出せませんObject.Module.check (/home/ssp/node_modules/requirejs/bin/r.js:969:51) で Object.Module.enable (/home/ssp/node_modules/requirejs/bin/r.js:1239: 22) Object.Module.init (/home/ssp/node_modules/requirejs/bin/r.js:882:26) で Object.context.makeRequire.mixin.isBrowser [as _onTimeout] (/home/ssp/node_modules/ requirejs/bin/r.js:1505:36) で Timer.list.ontimeout (timers.js:101:19) root@nodeapp:/home/ssp# ノード ブート

timers.js:103 if (!process.listeners('uncaughtException').length) throw e; ^ TypeError: Object.context.execCb (/home/ssp/node_modules/requirejs/bin/r.js:1729:33) で /home/ssp/boot.js:13:7 で undefined のメソッド 'listen' を呼び出せませんObject.Module.check (/home/ssp/node_modules/requirejs/bin/r.js:969:51) で Object.Module.enable (/home/ssp/node_modules/requirejs/bin/r.js:1239: 22) Object.Module.init (/home/ssp/node_modules/requirejs/bin/r.js:882:26) で Object.context.makeRequire.mixin.isBrowser [as _onTimeout] (/home/ssp/node_modules/ requirejs/bin/r.js:1505:36) で Timer.list.ontimeout (timers.js:101:19)

私が欠けているものを提案してくれる人はいますか?

ありがとう!

4

2 に答える 2

0

エクスプレスでrequireを使用する場合は、自動セットアップスクリプトを使用してみませんか?npmを使用してexpressを設定する方法については、http: //expressjs.com/guide.html#executableを参照してください。基本的には、コマンドラインでexpressを使用するだけです。Requireはセットアップに含まれています。

于 2013-01-26T17:25:48.227 に答える
0

最初にモジュールを宣言する必要があるため、requirejs() を使用する代わりに「モジュール」アプリを define() する必要があります。

ブートファイルに追加var define = require("amdefine")します。

そしてあなたのアプリファイルで:

define(["express" ], 
   function ( express ) {
     var app = express();
     app.configure( "development", function(){
     app.use( express.errorHandler() );
   }); 
   return app; 
});
于 2015-05-20T15:25:54.857 に答える