本篇記錄一下升級的血淚過程

請注意升級前請先創一個新目錄將升級應用與舊應用隔離

1. 需要將相關的套件做統一升級的動作,已確認需要升級所有舊的loaders

其它應用的套件可先不做升級的動作 (如果編譯錯誤時,依照出錯的模塊到github做查找的動作)

2. 需要手動將 webpack1 的config檔重寫為 webpack4

https://webpack-gatsby.netlify.com/how-to/upgrade-from-webpack-1/ 請參考本篇

總結幾個需要特別注意的地方

1. loader 的寫法已經完全不一樣了,請依照新的寫法將原本的loader設定區段移到module.rules[]裡

2. CommonsChunkPlugin 已經被取代了,請重新研究 optimize.splitChunks的用法
      https://webpack.js.org/plugins/split-chunks-plugin/

3. production與dev環境上的設定檔,務必設置對應的mode參數值會比較好(如果沒特別設置預設為production),在webpack4中mode設置為 production 預設會開啟效能調整

其它注意事項

1. eslint-loader 會去讀取 options , 所以在新的設定檔中需要多加入這段

new webpack.LoaderOptionsPlugin({ options: {} })

https://github.com/webpack/webpack/issues/6556

2. 注意一下output 是否有設定 publicPath

https://github.com/webpack/webpack/issues/3242

3. node-sass 安裝異常

npm --add-python-to-path='true' --debug install --global windows-build-tools npm install --global node-gyp

4. postcss-loader 重新設置

{ loader: 'postcss-loader', options: { plugins: () => [require('autoprefixer')({ 'browsers': ['> 1%', 'last 2 versions'] })], } }

升級參考文章

https://github.com/postcss/postcss-loader

sample config file : https://gist.github.com/mburakerman/629783c16acf5e5f03de60528d3139af

https://stackoverflow.com/questions/49782806/webpack-4-postcss-loader-and-autoprefixer-plugin

bundle vendor

https://webpack.js.org/guides/caching/

https://webpack.js.org/plugins/split-chunks-plugin/ chunk 設定

https://webpack.js.org/guides/code-splitting/ 模組切分參考

https://webpack-gatsby.netlify.com/how-to/upgrade-from-webpack-1/

https://webpack.js.org/migrate/3/#automatic-loader-module-name-extension-removed

https://gist.github.com/mburakerman/629783c16acf5e5f03de60528d3139af

转载于:https://www.cnblogs.com/KingJaja/p/9284447.html

AngularJs with Webpackv1 升級到 Webpack4相关推荐

  1. 2003網域升級到2008網域以及遷移DNS

    2003網域升級到2008網域以及遷移DNS 如圖這是我們現在的拓撲,cc從現用的LCS2008網域升級到2008網域,並一步步截圖給大家示範說明.隨便抓了臺虛擬機,是以前做LCS試驗用的,現在不用了 ...

  2. android ota 升级脚本,Android OTA升級包制作腳本詳解(五,升級腳本updater-script的執行1)...

    寫在前面: 首先當我們執行升級腳本updater-script的時候,就表示我們已經進入了升級安裝狀態.那么在我們就從實際的安裝作為入口開始分析.也就是說我們從install.cpp中的install ...

  3. 鸟哥的Linux私房菜(服务器)- 主机基本安全之二: Linux线上自动升級

    主機基本安全之二: Linux 線上自動升級 切換解析度為 800x600 最近更新日期:2006/09/10 本文已不再維護,更新文章請參考這裡 在現在的 Internet 上面,Cracker 實 ...

  4. Windows ESXI 5.5 升級到 VCSA 6.5

    目前 還有很多 ESXI 5.5 版本,先確認 Vcenter 版本支援 確定 VC 6.7 不支援 ESXI 5.5 ---- 只支援到 VC 6.5 ,所以只能升級到 VC 6.5 https:/ ...

  5. VS2008都出來了﹐看來我們升級VS2005的計划要改了。

    有一段時間沒有來園子里逛了﹐今天來看的時候﹐發現VS2008都出爐了. 前一段時間我們都在公司里做項目﹐可以說閉門造車吧﹐不過好歹項目做出來了, 可用的平台是VS2003,我們另一個部門用的VS200 ...

  6. mac mysql降版本_Mac卸載mysql並安裝mysql升級到8.0.13版本

    引言 今天mysql升級到8.0.13版本,遇到了很多問題,在此進行總結方便以后查看. 卸載mysql brew uninstall mysql sudo rm /usr/local/mysql su ...

  7. ThinkPad T410i 2516A21 升級手札(換SSD固態硬碟、I7 CPU、開機20秒)

    最近筆記本越來越慢,開機得20分鐘,而且CPU動不動就飆到80度,趁著開學網上活動,準備給老伙計來一次重大升級. 查一下主板芯片,最高支持8G內存,已經滿了,光驅位加了一個1T機械硬盤,那麼能升級的就 ...

  8. GWA2吉娃兔升級基於事件驅動的緩存處理模塊

    時間過得飛快,距離上次升級改進GWA2吉娃兔

  9. 三星公佈Bixby2.0升級後比蘋果更酷

    不過,今朝三星還沒頒布Bixby 2.0面向用戶的推送操持,僅僅會在來歲抽選部分的第三方開發者,供應一套用於休止外部測試的軟件開發套裝.而真正完成面向用戶的Bixby 2.0,估量還有的等了. 相較於 ...

最新文章

  1. linux shell shift命令 参数移动 简介
  2. java swing控件大全_java swing 组件大全(新手快进)
  3. CentOS 7.0服务器安装配置LAMP服务器
  4. datagrid 小数点_EasyUI 解决 datagrid 中 NumberBox 限制小数位数后不能输入小数点问题...
  5. java sdk下载_Java Sdk下载 | 保利威帮助中心
  6. linux的bash脚本
  7. 矩池云安装gdal五种解决方案
  8. 3.1.1 zabbix(上)
  9. java 文本变量_如何将一变量作为可配置文件 java
  10. 责任链(Chain of Responsibility)模式
  11. 如何提高软件测试效率
  12. asp站点服务器,ASP网站搭建 ASP服务器搭建 教程
  13. 【PHP小皮】使用教程
  14. IaaS、PaaS、SaaS、BaaS和FaaS英文全称以及解释说明
  15. win7声卡驱动不能安装(安装失败)完美解决方案
  16. 在线办公实例:我如何在实际工作中使用超级表格
  17. acl中的反掩码,acl掩码匹配规则
  18. 转载 ----MAVEN相关学习
  19. adc组合按键电阻阻值参考
  20. 19篇顶会论文探索多模态情感识别

热门文章

  1. Dao层,Mapper层,controller层,service层,model层都有什么作用
  2. 网上赚钱日结工资正规,看懂就去操作吧!
  3. Coca:对比字幕是图像-文本基础模型
  4. 词:王恩信Est/二胖u曲:王恩信Est/二胖u原曲:飞 - 王恩信Est/二胖u风浪没平息我宣告奔跑的意义这不是叛逆我只是淋了一场雨没怀疑燃烧的梦都飞哪去问自己这次我不会放弃你是否
  5. Python使用大漠插件前的准备工作
  6. 计算机专业买什么笔记本牌子,计算机专业买什么笔记本
  7. 第 3-5 课:Flutter 调试及 Android 和 iOS 打包
  8. 谁说啤酒不能做互联网?啤酒市场的春天来了,加速版商业模式分享——加速版乐分享商业模式加积分释放双驱动
  9. python base
  10. 《怪诞行为学》读书笔记