在express中正确使用app.set?
我目前正在跟随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获取值。
这真的归结为个人select。
我build议您通过express:expressjs.com/en/4x/api.html阅读文档
全局configuration文件的原因是,你可以使用特定的环境,并隐藏说github或bitbucket(某种版本控制服务)的秘密数据。 你不会上传你的秘密细节到github,bitbucket,或任何其他类似的服务。 当我说环境时,我的意思是生产,开发,本地等等。你可以在你的configuration文件中有一个函数返回一个特定的对象。 例如
var env = { production: { ... env vars }, local: { ... local vars } } export default env["production"]; // You would change something here or
注意,这是一个非常基本的例子,你可以做什么来改变你的环境variables。 您可以简单地将env["production"] to env["local"]
更改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** }