【发布时间】:2017-10-07 19:08:51
【问题描述】:
我正在为 JSX 使用 webpack 和 babel,并且缩小的生产构建 .Config 看起来像这样
var webpack = require('webpack');
var fileNames = [
'module1',
//'module2',
];
function giveMeConfig(filename) {
return {
entry: './app/pages/' + filename + '.js'
,
output: {
filename: './public/' + filename + '.js'
},
module: {
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
}),
new webpack.optimize.UglifyJsPlugin(),
new webpack.optimize.OccurenceOrderPlugin()
],
loaders: [
{
test: /(\.jsx|\.js)$/,
exclude: /(node_modules|bower_components)/,
noParse: /node_modules\\json-schema\\lib\\validate\.js/,
loader: 'babel',
query: {
presets: ['react'],
compact: false
}
}
,
{
test: /\.json$/, loader: 'json-loader'
}
]
},
node: {
console: false,
fs: 'empty',
net: 'empty',
tls: 'empty'
}
}
}
var configAr = [];
for (var i = 0; i < fileNames.length; i++) {
configAr.push(giveMeConfig(fileNames[i]));
}
module.exports = configAr;
除了我在反应开发工具上看到的一切正常,即使在使用生产webpack -p 构建之后,我也在生产上使用开发构建。知道我在这里做错了什么吗?我是 webpack 的新手,并且根据他们的文档应用了优化方法,但没有运气。在此先感谢:)
【问题讨论】:
-
我不习惯像这样基于每个文件名配置 Webpack。您如何使用
configAr/module.exports?看起来您正在尝试为您自己的模块(filenames中的任何内容)传递NODE_ENV=production,但要获得 React 的生产版本,您是否还需要为 React 设置NODE_ENV=production?跨度> -
@JoshKelley 怎么做?没看清楚
标签: javascript reactjs npm webpack babeljs