[英]How to set process env variables in config fle in Node.js
我需要在一个配置文件中设置一些通用的全局变量,并使用Node.js在需要的地方获取这些值。 在这里,我需要实现process.env
。 我的代码如下:
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
,该文件将包括在内,用户将获得所需的值。
您可以使用dotenv npm软件包。 它要求您使用KEY=VALUE
格式的键值对设置.env
文件,例如SECRET_KEY=MEGASECRETKEY
。
const dotenv = require('dotenv');
dotenv.load({
path: '.env.globals' // example
});
您可以访问您的变量,例如process.env.SECRET_KEY
对我来说,您具体要求的不是很清楚,但是出于配置目的,您可以创建自己的config.js文件并需要它。
例如;
var settings = {
port: process.env.PORT
};
module.exports = settings;
然后在您的server.js中,您可以要求该文件。
var settings = require('./config.js');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.