鍍金池/ 問答/HTML/ webpack4 配置公共JS 和 CSS 不打包,只做單獨壓縮

webpack4 配置公共JS 和 CSS 不打包,只做單獨壓縮

目前有common.js和env.js,以及base.scss都是通過require進來的。另外還有個Jquery
clipboard.png

HtmlWebpackPlugin配置的內容是

clipboard.png

1.目前的問題是每次打包都把common.js和env.js打進了對應入口文件的JS里,而base.scss也是進入了對應的css里,沒有單獨打包
2.我查到一個配置,但是用了這個配置就會把公共的JS打包進Jquery里

clipboard.png

3.有沒有辦法能把公共文件,單獨打包,Jquery和common,env單獨打包,base也單獨打包

回答
編輯回答
陪我終

js單獨打包用vendor配置項
css單獨打包用extract-text-webpack-plugin

2018年3月5日 18:02
編輯回答
念初

里面的是直接分離js文件
這里有一個 webpack4 例子,你可以查看一下 https://github.com/crlang/eas... 。

2017年1月5日 18:48
編輯回答
逗婦惱

首先,你貼的那段配置根本不是提取 jquery 的,而是提取所有的 js 文件,打成叫jquery的包。

cacheGroups: {
    common: {
      // 實際路徑
      test: path.resolve(__dirname, '../src/assets/js/common'),
      name: "commmon-test",
      chunks: "all",
      enforce: true
    }
}

node_modules 下的包可以使用這種配置方式,jquery 同理,如果你的 jquery 是通過 npm 安裝的,我沒試出來改怎么提取。樣式文件也一樣,但是樣式文件有個問題,雖然講 webpack 萬物都為模塊,但是 樣式文件從邏輯上還是從 js 里提取出來的,生成 base.css的同時,會多出來一個base.js文件(基本是空的)。

還是在另一個回答下回答過的答案,像 jquery 這種包可以使用cdn(或其他路徑)直接引入 html,在 webpack 里通過配置 externals 去解決引入。

2017年5月11日 20:53