私は現在https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokensに従っています。あなただけのconfig.secret
を使用し続けることができたときしかし、私は... ...expressでapp.setを正しく使用していますか?
app.set('superSecret', config.secret);
の必要性を理解していません。誰かが私にこれを親切に説明できますか?とても有難い。
私は現在https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokensに従っています。あなただけのconfig.secret
を使用し続けることができたときしかし、私は... ...expressでapp.setを正しく使用していますか?
app.set('superSecret', config.secret);
の必要性を理解していません。誰かが私にこれを親切に説明できますか?とても有難い。
これは単にapp.settings.superSecret
と他のものであなたの値にアクセスすることができます。
これについては、あなたのconfig
オブジェクトをすべてのファイルにインポートし続ける必要はありません!値をそのままapp.settingsから直接取得することができます。
本当に個人的な選択になります。
は、私はあなたが速達でドキュメントオーバーをよく読んでお勧めします:あなたは、特定の環境と隠すを使用することができますので、
グローバル設定ファイルの理由をされexpressjs.com/en/4x/api.html githubやbitbucket(何らかのバージョンコントロールサービス)からの秘密のデータ。秘密の詳細をgithub、bitbucket、または他の同様のサービスにアップロードすることはありません。環境とは、生産、開発、ローカルなどを意味します。特定のオブジェクトを返す設定ファイル内に関数を持つことができます。例:これは、環境変数を変更するための基本的な例です。 env["production"] to env["local"]
を変更するだけで、環境をスワップできます。
server.js
var config = require('./config');
var session = require('express-session');
app.use(session({
saveUninitialized: true,
resave: true,
secret: config.sessionSecret
}));
config.jsの
module.exports = {
sessionSecret: "very-secret" // or if loading from your .env **sessionSecret:process.env.SECRET**
}
ああ、私は参照してください。その場合、例を見ると、作者は特にグローバル設定ファイルをホストするための 'config.js'ファイルを作成していることに気づくでしょう。なぜ彼は単に' app 'を使わなかったのだろうと思います。代わりにすべての変数に対して「set」を実行します。なぜ誰かがグローバル設定ファイルを作成し、それでも 'app.set'も使用するのでしょうか?これはお勧めですか? – Grateful
最新のExpressマニュアルはhttps://expressjs.com/en/4x/api.htmlにあります – robertklep
@ James111説明のバディーをありがとうございました。 – Grateful