3

Express 4.2.0 を使用しています

モジュールを app.js に1 回だけ含めて、定義済みのルートで使用することは可能ですか?

現在、これは機能しません:

app.js

//..
var request = require('request');

var routes = require('./routes/index');
var users = require('./routes/users');

app.use('/', routes);
app.use('/users', users);
//...


ルート/user.js

var express = require('express');
var router = express.Router();

router.get('/add', function(req, res) {
    var session = req.session;
    request('http://localhost:8181/Test?val1=getDepartments', function (error, response, body) {
       //...
    });

    res.render('users/add');
});

module.exports = router;

「リクエスト」が定義されていないと言うでしょうroutes/user.js

ReferenceError: リクエストは Object.module.exports [ハンドルとして] で定義されていません (C:\inetpub\wwwroot\node7\routes\users.js:12:5)

それらを使用したいすべてのルートにモジュールを含めなければならないことは、適切な解決策のようには思えません...

4

2 に答える 2

4

はい、Node.js でグローバル変数を作成する方法は 2 つあります。1 つは を使用し、もう 1 つは を使用global objectします。module.exports

方法は次のとおりです。

方法 1. var キーワードなしで変数を宣言します。同様importModName = require('modxyz')に、グローバルオブジェクトに保存されるため、どこでも使用できますglobal.importModName

方法 2. エクスポート オプションを使用する。 var importModName = require('modxyz'); module.exports = importModName ;他のモジュールで使用できます。

詳細については、こちらをご覧ください http://www.hacksparrow.com/global-variables-in-node-js.html

于 2014-09-19T16:15:33.173 に答える