我使用webpack进行生产构建,如下所示:
module.exports = {
devtool: 'source-map',
entry: [
'babel-polyfill',
'./src/index'
],
output: {
filename: 'bundle.js',
path: path.join(__dirname, 'dist')
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.optimize.DedupePlugin(),
new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /en|he/),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
}),
new ExtractTextPlugin('style.css'),
new webpack.optimize.UglifyJsPlugin({
compressor: {
warnings: false
}
})
],
module: {
loaders: [
{
test: /\.js$/,
loaders: ['babel'],
include: path.join(__dirname, 'src'),
exclude: path.join(__dirname, 'src', 'test')
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract('css?-minimize!sass!postcss-loader'),
include: path.join(__dirname, 'src', 'styles')
},
{
test: /\.(jpe?g|png|gif)$/i,
loader: 'url?limit=8192',
include: path.join(__dirname, 'assets')
},
{
test: /\.svg$/,
loader: 'babel!svg-react',
include: path.join(__dirname, 'assets')
}
]
},
postcss: [autoprefixer({ browsers: ['last 2 versions'] })]
};

如您所见,代码由UglifyJsPlugin
缩小。问题是它还缩小了CSS文件(由ExtractTextPlugin
提取)。我想避免CSS缩小,以便在构建之后处理它。
如何告诉插件只缩小我的JS文件?
谢谢,
托默
答案 0 :(得分:-1)
请参阅:Webpack Uglify errors in CSS
您可以通过正则表达式添加test
到uglify和过滤文件...
new webpack.optimize.UglifyJsPlugin({
test: /\.(js|jsx)$/
})
或者...
您不必在一个webpack.config.js
中执行所有操作。
由于您正在将css构建为单独的文件,因此需要两个webpack.configs,一个用于执行js,另一个用于执行css。不要忘记建立两者。