簡體   English   中英

如何在Node.js中的config fle中設置進程環境變量

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

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