摘要:我們發布了新版本的插件系統,以便事件掛鉤和處理程序是單態的。倒計時按照承諾,我們將從今天開始等待一個月,然后再釋放穩定版。這為我們的插件,加載程序和集成生態系統提供了測試,報告和升級到的時間我們需要您幫助我們升級并測試此測試版。
自8月初以來—當我們將 nex branch?合并到webpack/webpack#master—我們看到了巨大的貢獻!
?今天,我們很自豪地發布webpack 4.0.0-beta.0來分享這項工作的成果! ?
?A Promise Fulfilled?—?可預測的發布周期當我們完成webpack 3的發布后,我們向社區承諾,我們會在主要版本之間為您提供更長的開發周期。
我們已經實現了這個承諾[并繼續實現它],為您帶來一系列功能,改進和錯誤修復,我們已經等不及想要你試試這些新功能了!以下就講講如何開始!
??如何安裝[v4.0.0-beta.0]如果你使用的是yarn:
yarn add webpack@next webpack-cli --dev
或者 npm:
npm install webpack@next webpack-cli --save-dev
?如何遷移?在測試webpack 4時,越來越多的人嘗試將reporting plugin和 loader程序不兼容,我們就可以構建一個生動的移植指南。
因此,我們需要您查看 官方更改日志 以及 我們的遷移草案 并在我們有遺漏的地方提供反饋! 這將幫助我們的文檔團隊創建我們的官方穩定版本遷移指南!
webpack 4有什么新功能?以下是一些您想要知道的以及一些更值得注意的功能. 有關更改功能和內部API修改的完整列表 請參閱我們的更改日志!!!
?性能在webpack 4的多種場景中,性能將顯著增強。以下是我們為實現此目標而做出的一些顯著變化:
默認情況下,在使用 production 模式時,我們將自動并行化并緩存由UglifyJS完成的縮小工作。
我們發布了新版本的插件系統,以便事件掛鉤和處理程序是單態的。
此外,webpack現在已經放棄了對Node v4的支持,使我們能夠添加大量較新的ES6語法和數據結構,并且也通過V8進行了優化。到目前為止,我們已經看到9小時12分鐘的真實報道!
PS: 我們甚至還沒有實現全緩存和并行性 ? [webpack 5里程碑]
?更好的默認值?—?#0CJS直到今天,webpack一直要求您明確設置您的輸入和輸出屬性。使用webpack 4,webpack會自動假設您的入口屬性為./src/,并且默認情況下,bundle將輸出為./dist。
這意味著 您不再需要配置就可以開始使用webpack!!
現在webpack是#0CJS(Zero Configuration)開箱即用的打包程序,我們將在4.x和5.0中奠定基礎,以便在將來提供更多的默認功能。
?更好的默認值 ?—?mode您現在必須在兩種模式之間選擇(模式或 - 模式):“production” 或者“development”.”。
生產模式為您提供各種優化。這包括縮小,范圍提升,抖動,無副作用的模塊修剪,并且包括必須像NoEmitOnErrorsPlugin一樣手動使用的插件。
開發模式針對速度和開發人員的體驗進以同樣的方式,我們會自動在您的包輸出中包含路徑名稱等功能,eval-source-maps,這些功能是為了易于閱讀代碼和快速構建!
?sideEffects?—? bundle?sizes的巨大勝利我們在package.json中引入了對sideEffects:false。添加此字段時,它會向webpack發送信號,表明庫中沒有正在使用的sideEffects。這意味著webpack可以安全地消除代碼中使用的任何重新導出。
例如,僅從lodash-es作為single_export_導入將花費約223 KiB [壓縮后]。在webpack 4中,這個代價現在是?3 KiB!
?JSON Support & Tree?Shaking當您使用ESModule語法導入JSON時,webpack將從“JSON模塊”中消除未使用的導出。對于那些已經將大量未使用的片段導入到代碼中的人來說,你會發現你的包的大小會顯著減小。
?升級到UglifyJS2這意味著您可以使用ES6語法,將其縮小,而無需第一個轉譯器。
我們要感謝UglifyJs2團隊的貢獻者為實現ES6支持所做的無私和努力工作。這不是一件容易的事情,我們很樂意讓你去看看他們的 repository 并表達你的贊賞和支持
? Module Type的推出+ .mjs支持歷史上,JavaScript是webpack中唯一的一流模塊類型。這給用戶帶來了很多尷尬的痛苦,他們無法有效地使用CSS / HTML Bundle等。現在我們從代碼庫中抽象出JavaScript特性,以允許這個新的API。我們現在有5個模塊類型實現:
javascript/auto:_(在webpack 3中的默認值_)_已啟用所有模塊系統的Javascript模塊:CommonJS,AMD,ESM
javascript/esm: EcmaScript模塊,所有其他模塊系統都不可用_(默認為.mjs文件)_
javascript/dynamic: 只有CommonJS和AMD; EcmaScript模塊不可用
json: JSON數據,它可以通過require和import (默認的.json文件)
webassembly/experimental: WebAssembly模塊 (當前為.wasm文件的實驗文件和默認文件)
此外,webpack現在按此順序查找.wasm,.mjs,.js和.json擴展名以解析
這個功能最令人興奮的是,現在我們可以繼續使用CSS和HTML模塊類型(4.x)。這將允許像HTML這樣的功能成為您的入門點!
?WebAssembly支持默認情況下,Webpack支持導入和導出任何本地WebAssembly模塊。這意味著您還可以編寫裝載器,以便您直接導入Rust,C ++,C和其他WebAssembly主機lang文件:
?再見CommonsChunkPlugin我們還刪除了CommonsChunkPlugin并默認啟用了其許多功能。另外,對于那些需要對其緩存策略進行細粒度控制的用戶,我們添加了更豐富,更靈活的一組功能optimization.splitChunks和optimization.runtimeChunk
?還有更多!還有更多的功能,我們強烈建議您在我們的 官方日志中中查看所有功能。
?倒計時按照承諾,我們將從今天開始等待一個月,然后再釋放webpack 4穩定版。這為我們的插件,加載程序和集成生態系統提供了測試,報告和升級到webpack 4.0.0的時間!
我們需要您幫助我們升級并測試此測試版。我們今天可以測試的越多,我們就可以更快地進行分類并找出任何可能出現的問題!
非常感謝所有幫助我們制作wepback 4的貢獻者。正如我們總是說的那樣,webpack的威力是我們的零件和生態系統的總和。
原文地址:https://medium.com/webpack/we...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/94515.html
摘要:前段時間又發布了新版本我接觸的時候已經版本了支持的版本必須打包速度大小比較以及粗淺的試了一下下圖所示,黃色為版本綠色為我寫的配置,跟基本相似,具體不同下面會介紹藍色是自帶的模式紅色為具體大小速度大家可以比較一下,還是很給力的關于配置方面,應 前段時間webpack又發布了新版本webpack4我接觸的時候已經4.1版本了node支持的版本必須node: >=6.11.5 webpack...
摘要:概念由來已久,今天再來談一談,是因為中有了新的優化。簡單的介紹下什么是。它已經為我們消除了副作用。而且我并沒有引入。即便根據文件大小,可能還有朋友持懷疑態度。因為最近才接觸。所以沒有在低版本的時候打包過。 Tree-Shaking概念由來已久,今天再來談一談,是因為webpack4中有了新的優化。簡單的介紹下什么是Tree-Shaking。 代碼不會被執行 if(false) { ...
摘要:默認出入口在中,不再強制要求指定和路徑。構建模式提供了兩種構建模式可供選擇和選項描述會將的值設為。如果是,那就會開啟。默認只會對按需加載的代碼做分割。在或更低版本中,如果你想為一個推導出來的定制選項,你不得不在自己的選項中將它重復一遍。 前言 現在距離2018年2月15號webpack4.0.0出來已經有一段時間了,現在已經出了 @vue/cli 3.0,但是樓主還沒試過,聽說很強大,...
摘要:我們可以使用內置的為所有的依賴定義這個變量這是開發環境這是生產環境作者正兒八經的嬌嬌鏈接來源掘金著作權歸作者所有。 1.webpack概念 WebPack可以看做是模塊打包機:它做的事情是,分析你的項目結構,找到JavaScript模塊以及其它的一些瀏覽器不能直接運行的拓展語言(Scss,TypeScript等),并將其打包為合適的格式以供瀏覽器使用。 構建就是把源代碼轉換成發布到線上...
閱讀 2000·2023-04-25 16:53
閱讀 1442·2021-10-13 09:39
閱讀 606·2021-09-08 09:35
閱讀 1639·2019-08-30 13:03
閱讀 2121·2019-08-30 11:06
閱讀 1831·2019-08-30 10:59
閱讀 3188·2019-08-29 17:00
閱讀 2288·2019-08-23 17:55