Webpackバージョン:4.16.3
すべてのコンパイルが成功します。
bundle.cssでコンパイルした後のコードは縮小されません。
text-webpack-pluginでminimize:trueを使用しようとしましたが、機能しません。
コンパイルには、コマンドラインでコマンドを使用します:webpack作業ディレクトリで
私は何を間違えていますか?
私のウェップバック設定:
'use strict'
const webpack = require("webpack");
const ExtractTextPlugin = require('extract-text-webpack-plugin')
module.exports = {
context: __dirname,
mode: 'production',
entry: __dirname + "/js/init.js",
output: {
path: __dirname + "/dist",
filename: "bundle.js"
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
noUiSlider: 'nouislider',
Vue: 'vue'
}),
new ExtractTextPlugin("bundle.css")
],
module: {
'rules': [
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: {
loader: "css-loader",
options: {
minimize: true
}
}
})
}
, {
test: /\.less$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: {
loader: "css-loader!less-loader",
}
})
}, {
test: /\.(png|jpe?g|gif|cur)$/,
loader: 'url-loader?limit=8192&name=imgs/[name]-[hash].[ext]'
}
]
}
};
4以上のwebpackバージョンでは、ExtractTextPlugin
の代わりに mini-css-extract-plugin を使用できますプラグイン
OptimizeCSSAssetsPlugin を使用してcssアセットを縮小します。エクストラクターは出力アセットのみを分離するために使用されます。縮小はプロダクションモードで機能することに注意してください。つまり、webpackビルドコマンドで「--mode production」を必ず渡してください。
{....,
optimization: {
minimizer: [
//Incase you want to uglify/minify js
new UglifyJsPlugin({
cache: true,
parallel: true,
sourceMap: true
}),
new OptimizeCSSAssetsPlugin({
cssProcessorOptions: { discardComments: { removeAll: true } },
canPrint: true
})
]
}
....}
代わりにこのプラグインを使用する必要があります。