我目前正在关注https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens。但是,我不明白......的需要。
app.set('superSecret', config.secret);
...当您可以继续使用config.secret
时。有人可以向我解释这个吗?非常感谢。
答案 0 :(得分:1)
这只是让您通过app.settings.superSecret
访问您的值,而不是其他任何内容。
关于这一点的好处是,您不必继续将config
对象导入每个文件!您可以直接从 app.settings 中获取值。
这真的取决于个人选择。
我建议您阅读express:expressjs.com/en/4x/api.html
上的文档全局配置文件的原因是您可以使用特定环境并 隐藏 来自github或bitbucket(某种版本控制服务)的秘密数据。您不会将您的秘密细节上传到github,bitbucket或任何其他类似的服务。当我说环境时我的意思是生产,开发,本地等等。你可以在配置文件中有一个返回特定对象的函数。 E.g
var env = {
production: {
... env vars
},
local: {
... local vars
}
}
export default env["production"]; // You would change something here or
请注意,这是您可以执行的更改环境变量的基本示例。您只需更改env["production"] to env["local"]
即可更换您的环境。
答案 1 :(得分:0)
<强> 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**
}