如何在config.js中配置进程环境变量
我需要一个帮助。我需要在一个配置文件中设置一些通用的全局变量,并在需要时使用Node.js获取这些值。在这里我需要实施process.env
。我首先在下面解释我的代码。如何在config.js中配置进程环境变量
var port=8989;
var express=require('express');
var morgan = require('morgan');
var http=require('http');
var bodyParser= require('body-parser');
var methodOverride = require('method-override');
var mongo = require('mongojs');
var session = require('express-session');
var multer = require('multer')
var app=module.exports=express();
var server=http.Server(app);
var admin=require('./route/route.js');
app.use(express.static(__dirname + '/public')); // set the static files location /public/img will be /img for users
app.use(morgan('dev')); // log every request to the console
app.use(bodyParser.urlencoded({ extended: false })) // parse application/x-www-form-urlencoded
app.use(bodyParser.json()) // parse application/json
app.use(methodOverride()); // simulate DELETE and PUT
app.use(session({secret: 'FGDPlexel',resave: true,saveUninitialized: true}));
app.get('/',function(req,res){
res.sendFile(__dirname + '/index.html');
})
var storage =multer.diskStorage({
destination: function (req, file, callback) {
callback(null, './uploads');
},
filename: function (req, file, callback) {
callback(null, file.fieldname + '-' + Date.now());
}
});
server.listen(port);
console.log("Server is running on the port"+port);
在这里,我分配port=8989
但在这里我需要创建一个配置文件,并有指定所有变量。在这个server.js
该文件将包括和用户将获得所需的values.Please帮助我。
您可以使用dotenv npm软件包。它需要您以KEY=VALUE
的格式(如SECRET_KEY=MEGASECRETKEY
)设置带有键值对的.env
文件。
const dotenv = require('dotenv');
dotenv.load({
path: '.env.globals' // example
});
,您可以访问诸如process.env.SECRET_KEY
我在这里有点困惑。让我解释我对你的解决方案的理解。我将在我的server.js文件中包含上面的内容,并将获得像'process.env.SECRET_KEY'这样的值。我必须创建一个'.env'文件,例如'egl-config.env'。在这里我需要知道如何将值分配给相应的密钥以及该文件将如何包含在服务器文件中。 – satya
用'dotenv.load({path:'.env.globals'// example});'相应的键将从文件中读取并分配给您的'process.env'全局对象。通过使用'path:...'服务器文件将加载你的变量。例如,您可以在文件“PORT = 3000”中使用。 –
这不是很清楚,我什么你特别要求,但对于配置的目的,你可以创建自己的config.js文件,并要求它的变量。
例如;
var settings = {
port: process.env.PORT
};
module.exports = settings;
然后在你的server.js中,你可以要求这个文件。
var settings = require('./config.js');
怎么样'dotenv':https://www.npmjs.com/package/dotenv? –
我还没有实施。你能说这可以在我的代码中实现吗? – satya