2016-12-16 5 views
0

私は単純なNode.jsアプリケーションを作成しました。そこではスタティックルートパスを使用しています。だから私はアプリケーションのすべてのルートで要求せずにオブジェクトにアクセスする方法を知る必要があります。アプリケーション全体に設定オブジェクトにアクセスするにはどうすればよいですか?

現在の方法=>

routeLink.js

var routesMap = [{ 
    createUserRoute: '/create-user', 
    route2: '/user-profile', 
    // ... 
}]; 

createUserRoute.js

var routLinks = require('./config/routeLink'); 

module.exports = function(router){ 
    router.post('/', function(req, res){ 
    // do the task 
    res.redirect(routLinks.createUserRoute); 
    });  
} 

あなたはこの例では参照と同じように、私は

に持っています
require('./config/routeLink') 

この方法を使用しないと、すべてのルーターからroutesMapにアクセスできますか?あなたは各ルートファイル内の設定を必要としない場合

+0

あなたが読み込まないファイルにアクセスすることはできません。 'require()'はファイルをロードする一つの方法です。他の方法もありますが、それでもある時点でロードする必要があります。あなたのアプリケーションが必要とするファイルに対して 'require()'を呼び出す問題は何ですか? – Tomalak

+0

は、app.js(メインファイル)でそれを必要とするかもしれないし、それぞれのルートを必要とせずにアクセスする方法は?...何かのようなもの? – menaka

答えて

1

は、次の2つのオプションがあります:

1 /(推奨されません)アプリケーション全体

2 /使用環境変数にコンフィグglobalを作ります、見てくださいdotenv

+0

私の質問は、それぞれのルータでroutesMapにアクセスする必要はありません( './ config/routeLink')? – menaka

+0

@menaka nope、グローバル変数(https://nodejs.org/api/globals.html)をアプリケーション全体に渡さない限り、ps:グローバル変数を使用する悪い習慣であっても、私の答えは編集されます。 – Gintoki

+0

gin chan :)、私は悪い習慣を使用するつもりはない、私はちょうど繰り返す必要がある( './ config/routeLink')何度も何度も繰り返しています。 – menaka

関連する問題