這次帶給大家vue cli webapck4需要哪些步奏,vue cli webapck4的注意事項有哪些,以下就是實戰案例,一起來看一下。
webpack4 released 已經有一段時間了,插件系統趨於平穩,適逢對webpack3的打包速度很不滿意,因此決定將目前在做的項目進行升級,正好也實踐一下webpack4。
新特性
0配置
應該是parcel出來以後,webpack團隊意識到其配置確實有點複雜,不太容易上手。 so, webapck4 開始支援0配置啟動。不過,萬變不離其宗,webpack4的0配置也只是支援了預設entry 和 output而已,即預設entry為./src,預設output為/dist。
模式選擇mode
mode有兩個可選項,production & development。作為必選項,mode是不可缺省的。在production模式下,會預設做一些必要的最佳化,如程式碼壓縮和作用域提升,也會預設指定process.env.NODE_ENV 為 production。在development模式下,優化了增量構建,支援註解和提示,並且支援 eval 下的 source maps,同時預設指定process.env.NODE_ENV 為 development。
sideEffects
透過此配置可以大幅減小打包體積。當模組的 package.json 配置sideEffects:false顯示該模組沒有副作用,也就意味著 webpack 可以安全地清除被用於重複導出(re-exports)的程式碼。
模組類型
webpack4提供了5種模組類型。
json: 可透過require 和import 導入的JSON 格式的資料(預設.json 的檔案)
webassembly: WebAssembly 模組, (目前是.wasm 檔案的預設型別)
javascript/auto: (webpack 3中的預設型別)支援所有的JS模組系統:CommonJS、AMD。
javascript/esm: EcmaScript模組(預設 .mjs 檔案)。
javascript/dynamic: 僅支援 CommonJS & AMD。
JSON
webpack 4 不僅支援本地處理 JSON,也支援 JSON 的 Tree Shaking。當使用 ESM 語法 import json 時,webpack 會消除掉JSON Module 中未使用的匯出。另外,如果要用 loader 轉換 json 為 js,需要將 type 設定為 javascript/auto。
optimization
Webpack 4 刪除了 CommonsChunkPlugin,並且預設啟用了它的許多功能。因此webpack4可以實現很好的預設最佳化。但是,對於那些需要自訂的快取策略,增加了 optimization.splitChunks 和 optimization.runtimeChunk。具體解釋可參考這篇文章,解釋得很詳細。 RIP CommonsChunkPlugin點擊預覽
。
手把手升級
我是把原來vue cli的專案做了一下升級,整體來說,升級還算是比較順利步驟,這裡我們分成兩步驟走,先升級相關依賴的插件,然後優化webapck設定檔。
升級外掛程式
首先要把下面清單的外掛程式升級到對應版本或最新版本
webpack@4.4.1
css-loader@0.28.10,
extract-text-webpack-plugin@4.0.0-beta.0,
file-loader@1.1.11,
html-webpack-plugin@3.1. 0,
optimize-css-assets-webpack-plugin@4.0.0,
url-loader@1.0.1,
vue-loader@14.2.2,
vue-style-loader@ 4.1.0,
vue-template-compiler@2.5.16,
webpack-bundle-analyzer@2.11.1,
webpack-dev-middleware@3.1.0,
webpack-dev- server@3.1.1,
webpack-hot-middleware@2.21.2
如果遇到其他套件報錯,應該是升級到最新的就可以解決了。
更新設定檔
webpack.dev.conf.js
dev環境變化不大,畢竟webpack4很大一部分的最佳化都是針對生產環境的,該文件我們只需要刪除一些不再需要的插件既可以。例如:webpack.NamedModulesPlugin、webpack.NoEmitOnErrorsPlugin,功能webpack4已經預設配置。同時,要設定
mode: 'development'
#
webpack.production.conf.js
webvpack4中改动最大,影响也最大的就是webpack4使用optimization.splitChunks替代了CommonsChunkPlugin。以前的CommonsChunkPlugin主要用来抽取代码中的共用部分,webpack runtime之类的代码,结合chunkhash,实现最好的缓存策略。而optimization.splitChunks则实现了相同的功能,并且配置更加灵活,具体解释可参考这篇文章,解释得很详细。
mode: 'production', optimization: { splitChunks: { cacheGroups: { vendors: { test: /[\\/]node_modules[\\/]/, chunks: 'initial', name: 'vendors', }, 'async-vendors': { test: /[\\/]node_modules[\\/]/, minChunks: 2, chunks: 'async', name: 'async-vendors' } } }, runtimeChunk: { name: 'runtime' } }
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是vue cli+webapck4需要哪些步奏的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版
好用的JavaScript開發工具