-1

ノードプログラムを作っています。child から app.js パラメータにアクセスしたい。親で module.exports を使用し、子で module.parent.exports を使用しました。しかし、うまくいきませんでした。どうすれば修正できますか?

(/app.js)

var app = module.exports = express();

(/routes/index.js)

var app = module.exports = module.parent.exports;
var port = app.get('port');

(エラーメッセージ)

/Users/satoshi/Google Drive/node/testoy2/routes/index.js:7
 var port = app.get('port');
                ^
TypeError: Object #<Object> has no method 'get'
    at Object.<anonymous> (/Users/satoshi/Google Drive/node/testoy2/routes/index.js:7:17)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/satoshi/Google Drive/node/testoy2/app.js:8:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)

(バージョン)

node = v0.10.5
express = 3.2.4
4

2 に答える 2

1

使用する必要があります

var app = require("../app.js");

あなたのindex.js

于 2013-05-20T21:15:33.623 に答える
0

apprequire:
(app.js)中に をルートに渡すことができます。

...
var app = module.exports = express();
var routes = require('./routes')(app);

次に、必ずルートに保存してください:
(routes/index.js)

var expApp = undefined;//This variable will hold the express app
var routes = module.exports = function(app){
   expApp = app;//Now you have access to express
}

ルートからのその他のエクスポートは、明示的なエクスポートである必要があります。

于 2013-05-20T22:28:18.193 に答える