【发布时间】:2017-05-06 00:55:40
【问题描述】:
我已经阅读了 stack overflow 上的所有文章以及来自 google 搜索的大约 200 篇文章,而且我终其一生都无法理解 process.env。无论我做什么,它总是一个空对象。
const path = require("path");
const webpack = require('webpack');
module.exports = {
entry: {
search: './src/search/search_index.js',
// search: './src/search/search_index.js'
},
output: {
path: path.join(__dirname, "../website/public/javascript/react"),
publicPath: '/',
filename: "[name].bundle.js"
},
module: {
loaders: [{
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['react', 'es2015', 'stage-1']
}
}]
},
resolve: {
extensions: ['', '.js', '.jsx']
},
devServer: {
historyApiFallback: true,
contentBase: './'
},
plugins: [
new webpack.DefinePlugin({
"process.env" : {
'NODE_ENV': '"production"'
}
})
]
};
"scripts": {
"start": "webpack-dev-server --inline --hot --content-base src/search",
"test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js --recursive ./test",
"test:watch": "npm run test -- --watch"
}
console.log(process.env); // 来自以"npm start" 开头的正在运行的应用程序中的渲染方法
总是返回{}
我正在尝试在我的构建中将 NODE_ENV 设置为生产并且运气为零 %NODE_ENV% show production 但无论我在控制台中收到警告消息,关于它在较慢的构建上运行以使用 NODE_ENV 生产。
为了尝试放松正在发生的事情,我只是想看看我的应用在 process.env 中得到了什么,它是一个空对象。因此,我尝试使用 defineplugin 对其进行硬编码,以再次测试发生了什么,结果相同。
我已经为此苦恼了大约 3 个小时。任何帮助表示赞赏。
【问题讨论】:
标签: node.js reactjs npm webpack