這兩天一直在練習這個webpack4, 發現有好多問題和坑,作開發嘛,必定要有喜歡出問題並喜歡解決問題,堅定踩個坑填個坑的不怕死小強精神!javascript
webpack4 在配置上實際上是能夠是想production和development的,css
// webpack.config.js module.exports = { // webpack會根據mode進行對Js打包,development壓縮,production下面自動壓縮,親測沒有問題 mode: 'development' // production }
可是從js裏面分離出來的css怎麼打包呢?java
我找了一天的相關文章,好多都是說webpack自動支持css壓縮,有的是說須要插件,對,就是用插件webpack
optimize-css-assets-webpack-plugin
不過必定要看Npm官方網站web
⚠️ For webpack v3 or below please use optimize-css-assets-webpack-plugin@3.2.0. The optimize-css-assets-webpack-plugin@4.0.0 version and above supports webpack v4.優化
作法是先安裝 optimize-css-assets-webpack-plugin網站
const optimizeCss = require('optimize-css-assets-webpack-plugin'); module.exports = { ....., // plugins: [ new optimizeCss({ assetNameRegExp: /\.style\.css$/g, cssProcessor: require('cssnano'), cssProcessorOptions: { discardComments: { removeAll: true } }, canPrint: true }), ], // 這個還待研究,看字面意思是優化的意思 optimization: { // minimize: true, minimizer: [new optimizeCss({})], } }
以上裏面的代碼我也是看別人寫的,因此還須要安裝一個'cssnano'的包ui
以後運行生產環境打包命令,哦也,css果真壓縮了,可是看js,竟然沒有被壓縮,不加上述代碼的話js確實是默認壓縮的,因而網上又找解決方案,都說webpack4只要設置mode production便可,可是如今有個問題,壓縮了css以後js就不會壓縮,因而帶着試試看的內心繼續安裝以前壓縮Js的插件 uglify-webpack-plugin插件
最後發現問題解決了,只是個人心得,也是誤打誤撞,但若是有好的解決方案請你們積極留言,共同進步,把webpack吃透!code