【发布时间】:2018-09-19 22:56:34
【问题描述】:
我正在开发一个 node.js 项目,我需要能够从开发环境切换到生产环境。
我看到一个命令来进行切换,即 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;
【问题讨论】:
标签: node.js