这是我的index.js文件:
var express = require('express');
var app = express();
var compression = require('compression');
var path = require('path');
app.use(compression());
app.set('port', (process.env.PORT || 9000));
app.use(express.static(path.join(__dirname, 'dist')));
app.use('/public', express.static(path.join(__dirname, '/public')));
app.set('views', __dirname + '/');
app.set('view engine', 'ejs');
app.listen(app.get('port'), function() {
console.log('Node app is running on port', app.get('port'));
});
这些是用于构建和启动服务器的NPM脚本:
"scripts": {
"start": "NODE_ENV=production node index.js",
"dev": "NODE_ENV=development webpack-dev-server --progress --bail --open",
"build": "NODE_ENV=production webpack -p --colors"
},
我不知道怎么做但我仍然得到ReferenceError: NODE_ENV is not defined
。有人可以帮忙吗?
答案 0 :(得分:0)
您需要使用:
process.env.NODE_ENV
而不是:
NODE_ENV
当您收到错误时:
ReferenceError: NODE_ENV is not defined
这意味着您尝试访问它,就像它是范围中的变量而不是process.env
对象上的属性一样。
答案 1 :(得分:0)
适用于Mac。
您使用的操作系统是什么?如果您是Windows,可能需要结帐cross-env
然后像这样更改你的package.json:
{
"scripts": {
"build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
}
}