[英]Proper use of app.set in express?
我目前正在關注https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens 。 但是,我不明白需要...
app.set('superSecret', config.secret);
...當您可以繼續使用config.secret
。 有人可以向我解釋一下嗎? 非常感激。
這只是允許您通過app.settings.superSecret
訪問您的值,而不是其他任何東西。
這樣做的好處是,您不必一直將config
對象導入每個文件! 您可以直接從app.settings獲取值。
這真的歸結為個人選擇。
我建議您閱讀 express 上的文檔:expressjs.com/en/4x/api.html
使用全局配置文件的原因是您可以使用特定環境並從 github 或 bitbucket(某種版本控制服務)中隱藏秘密數據。 你不會將你的秘密細節上傳到 github、bitbucket 或任何其他類似的服務。 當我說環境時,我的意思是生產、開發、本地等。您可以在配置文件中有一個返回特定對象的函數。 例如
var env = {
production: {
... env vars
},
local: {
... local vars
}
}
export default env["production"]; // You would change something here or
請注意,這是您可以如何更改環境變量的一個非常基本的示例。 您可以簡單地將env["production"] to env["local"]
更改env["production"] to env["local"]
來交換您的環境。
使用快速會話
服務器.js
var config = require('./config');
var session = require('express-session');
app.use(session({
saveUninitialized: true,
resave: true,
secret: config.sessionSecret
}));
配置文件
module.exports = {
sessionSecret: "very-secret" // or if loading from your .env **sessionSecret:process.env.SECRET**
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.