Node.js 试图了解在何处为NODE_ENV命令设置环境

Node.js 试图了解在何处为NODE_ENV命令设置环境,node.js,Node.js,我正在从事node.js项目,在该项目中,我需要能够从开发环境切换到prod环境 我看到一条命令来执行切换,即NODE_ENV=dev npm start 但是您如何为您的项目配置它呢 换句话说,我看不出您在哪里将dev设置为localhost并将prod设置为“www…” 更新: 我想这会有助于显示我的实际app.js文件 var express = require('express'); var path = require('path'); var favicon = require('s

我正在从事node.js项目,在该项目中,我需要能够从开发环境切换到prod环境

我看到一条命令来执行切换,即NODE_ENV=dev npm start

但是您如何为您的项目配置它呢

换句话说,我看不出您在哪里将dev设置为localhost并将prod设置为“www…”

更新:

我想这会有助于显示我的实际app.js文件

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var cors = require('cors');
var multer = require('multer');
var passport  = require('passport');
var jwt = require('jwt-simple');
var config = require('konfig')();

var app = express();

app.use(cors());
app.use(passport.initialize());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser());
app.use(cors());    

app.use('/api', require('./routes/api'));
app.use(express.static(path.join(__dirname, '../client/app/custom')));
app.use(express.static(path.join(__dirname, '/dist')));
app.use('/fileuploads', express.static(path.join(__dirname, '/fileuploads')));
app.use('/img', express.static(path.join(__dirname, '/img')));
app.use('/vcards', express.static(path.join(__dirname, '/vcards')));
app.use('/pdf', express.static(path.join(__dirname, '../client/app/pdf')));



// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
    res.status(err.status || 500);
     res.json({error: err.message});
});

app.all('/*', function(req, res){
    res.sendFile(path.join(__dirname, '/dist/index.html'));
});

module.exports = app;

在js文件中,您可以检查process.env.NODE\u env

比如说

if (process.env.NODE_ENV === "dev") {
   //use localhost
}

NODE_ENV是一个环境变量。因此,您可以在启动应用程序时显式设置NODE_ENV

然后访问代码中的环境变量:

var environment = process.env.NODE_ENV
或者,如果您使用的是express:

app.get('env')

因为您使用的是konfig,所以在变量中加载了一个值字典

config.[filename].[config_key]-来自

例如config.[filename].host

似乎你也在寻找配置你的应用程序接收请求的位置。如何使用app.listen是stackoverflow的一大难题,你可以在其他地方找到一些很好的答案

在节点中运行脚本时,有一个名为process的全局变量,其中包含各种漂亮的东西。有关太多信息:

在通过命令节点_ENV=dev npm start执行的js文件中,可以编写以下咒语,并在控制台中显示变量:

const环境_变量=process.env.NODE_env; console.logenvironment_变量设置为:,环境_变量;可能重复的