簡體   English   中英

在 express 中正確使用 app.set 嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM