當前位置:
首頁 > 科技 > webpack正式發布v3.0.0

webpack正式發布v3.0.0

前言

前兩天發起了一個關於webpack 使用情況的投票,總共有 126 參與,各版本比例分別是:

版本一:20%,版本二:65%,版本三:15%

參與投票數量不多,各位就當看看。

那版本三有哪些點呢,今日早讀由 前端早讀課專欄作者 @ 野草翻譯分享。

正文從這開始~

發布webpack 2之後,我們就跟社區承諾:我們將發布大家投票出來的功能特性,而且會保證更快更穩定的發布周期。

不會再有一年才出來的測試版本,不會再有不兼容的重大改變。我們承諾我們會保證大家的權益,因為你們才使得wepack如此欣欣向榮。

現在webpack團隊很自豪地跟大家宣布,今天(2017.06.20)正式發布了webpack 3.0.0!現在就可以下載升級了!!!

npm install webpack@3.0.--save-dev

或者

yarn add webpack@3.0.--dev

從webpack 2遷移到webpack 3隻需要上述簡簡單單的一條命令行就完成升級。由於webpack內部的一些會影響到插件的大更改,我們把這個版本定為全新的版本號。

新特性

如上所述,我們更新的是你們投票出來的特性。正因為Github上龐大的代碼貢獻,贊助者以及擁護者的支持,我們才得以一一擊破這些新特性。

作用域提升(Scope Hoisting)

作用域提升是wepack 3的核心特性。webpack在打包時會把每個模塊用單獨的閉包封裝起來,這些閉包會減速代碼的執行過程,但這是webpack在性能作出的一個權衡。相比之下,諸如Closure Compiler和RollupJS之類的打包工具「提升」或者說打通了所有模塊的作用域,將文件打包到一個閉包函數中,提高了代碼的執行速度。

現在有了webpack 3,可以在配置上中添加如下插件來實現作用域提升的功能:

module.exports={

plugins:[

newwebpack.optimize.ModuleConcatenationPlugin()

]

};

作用域提升是ECMAScript標準中模塊的新語法。webpack打包也可能會回退到常規的打包策略,這取決於你採用的是哪種模塊語法(ES模塊語法還是其他模塊語法),當然還有其他條件。

想知道回退的原因,可以添加--display-optimization-bailout屬性,它會在回退的時候通知你並顯示原因。

由於作用域提升移除了模塊的閉包函數,打包後的代碼可能會變小。不過,最關鍵的提升點是代碼執行速度。如果你有很好的對比例子,可以告訴我們,我們很樂意與大家分享。

魔法注釋(Magic Comments)

當我們告訴大家webpack 2可以使用動態引入語法(import())的時候,開發者反饋說它不能像require.ensure一樣命名打包之後文件的名字。

現在我們引入了社區所謂的魔法注釋特性,它能讓開發者在import()語句中以內聯注釋的方式傳入打包後文件的名字,以及其他更多配置。

import(/* webpackChunkName: "my-chunk-name" */ module );

這些特性在webpack 2.4 和 2.6 版本中已經發布,但是v3版本修復了已有的bug,保證了特性的穩定性。現在,我們可以像使用require.ensure一樣靈活地使用動態引入語法了。

下一步

以下是我們正在做的:

更好的構建緩存

更快的初次和漸進構建體驗

更好的TypeScript體驗

長期緩存改進

WASM模塊支持

用戶體驗提升

附錄

Git倉庫上列出列 webpack 2.6.1到wepback 3.0.0的新特性:

node_modules no longer mangle to ~ in stats(重大改變)

HMR請求可配置超時時間

新增試驗性特性作用域提升

性能提升

新增output.libraryExport配置導出的庫

sourceMapFilename支持[contenthash](重大改變)

module.noParse支持函數

新增node: false配置項使所有node 配置失效

關於本文

譯者:@野草

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 前端早讀課 的精彩文章:

大前端時代,從前端小工到架構師的進階錦囊!
【第974期】WAAPI
上海一條視頻招前端開發
掌握 HTTP 緩存——從請求到響應過程的一切(上)

TAG:前端早讀課 |

您可能感興趣

Webpack 4.0.0 beta.0 發布,不再支持 Node.js 4
npx=>0配置,webpack4.0+
Webpack 4.0.0 正式發布,模塊載入打包工具
如何擴展 Create React App 的 Webpack 配置
webpack 開發者:我當初為什麼寫webpack
Webpack 入門
vue-cli 腳手架中 webpack 配置基礎文件詳解
前端常用技術概述——Less、typescript與webpack
webpack4.0正式版重大更新與特性詳細清單
webpack各部分怎麼編寫
關於如何使用webpack命令行傳入變數,並通過process.env來調用
Less與TypeScript的簡單理解與應用,並使用WebPack打包靜態頁面
Webpack構建速度優化
Webpack 4正式發布!從0配置到生產模式,你需要知道的都在這裡了
我為什麼要使用Webpack?
Webpack4漸進式網路應用程序
使用 webpack 定製前端開發環境
前端每周清單:Slack Webpack構建優化,CSS 命名規範與用戶追蹤
技術分享:webpack一點技巧
VUE+WebPack:開發一款太空版植物大戰殭屍的前端頁游