Node.js 试图了解在何处为NODE_ENV命令设置环境
我正在从事node.js项目,在该项目中,我需要能够从开发环境切换到prod环境 我看到一条命令来执行切换,即NODE_ENV=dev npm start 但是您如何为您的项目配置它呢 换句话说,我看不出您在哪里将dev设置为localhost并将prod设置为“www…” 更新: 我想这会有助于显示我的实际app.js文件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
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_变量设置为:,环境_变量;可能重复的