1
私の質問はan old answer given on this questionに関連していますが、少し修正してあります。app.get( 'env')を使用して環境固有の設定を設定する
できるだけシンプルにしておきます。
私のフォルダ構造は以下の
|-- controllers
|-- File.js
|-- and many more...
|-- routes.js
|-- app.js
|-- config.js
|-- env.json (same as one in the old answer)
関連するファイルであると仮定は
app.js
const routes = require('./routes');
app.set('env', process.env.NODE_ENV || 'production'); // set the environment
app.use('/', routes);
routes.js
が含まれていますコントローラ/ File.js
const config = require('../config');
exports.getFiles = (req, res, next) => {
// I would like to use the environment-specific (that was set in app.js) config here
console.log(config.facebook_app_id);
};
// ...
config.jsの
const env = require('env.json');
/*exports.config = function() {
var node_env = process.env.NODE_ENV || 'development';
return env[node_env];
};*/
module.exports = env[app.get('env')]; // this would cause an error as app is not defined
これはばかげた質問かもしれませんが、どのように私はconfig.js
内すなわちapp.get('env')
アプリケーション設定を使用することができますか?
私もデフォルトとしてDEVにコメントしようとしていましたので、基本的には設定ファイルでアプリケーション設定を使用しない;-) –
ををprodないを使用する必要はありません。私の最終目標は、私が行うべき場所を1つ所持することでした。 'process.env.NODE_ENV || 「生産」。しかし、[documentation](http://expressjs.com/en/api.html#app.set)によると、 'app.set()'のデフォルト値は 'process.env.NODE_ENV || 「開発」。 'development'を使うほうが良いので、うまくいくと思います。ありがとう。 – Mikey