體驗webpack4.x的新特性

傳說中零配置

首先初始化一個項目

mkdir webpack4.x
cd webpack4.x
npm init

根目錄下新建一個webpack.config.js ,然后新建一個src/index.js, package.json文件中新增兩條命令

"dev": "node_modules/.bin/webpack-dev-server --mode development --open --progress --hot --hotOnly --config  ./webpack.config.js",

"build": "node_modules/.bin/webpack --mode production --progress --config ./webpack.config.js"

安裝依賴(我這里用的的是比較新的)

npm install webpack webpack-cli -D

"webpack": "^4.8.1",
"webpack-cli": "^2.1.3",

開發(fā)環(huán)境

npm run dev

生產(chǎn)環(huán)境

npm run build

webpack4.0傳說中的零配置,不是說不需要配置,而是默認不需要配置入口和出口,提前給我們設(shè)置了默認值

entry的默認值是 src/index.js,必須是index.js
output的默認值是dist/main.js

下面有幾點注意項:

  1. 4.x的webpack,必須配合著webpack-cli
npm install webpack-cli -D
  1. package.json 中 最好使用我們安裝的依賴
node_modules/.bin/webpack-dev-server

webpack4.x的默認配置可以在如下路徑找到:

node_modules/webpack/lib/WebpackOptionsDefaulter.js

mode意義更為明確

新增 mode 配置,可選擇而且必須設(shè)置為 development 或 production,它們的主要區(qū)別是 development 更重視構(gòu)建時間,production 更重視尺寸。并且,有了 mode 之后,無需配置即可啟動,實現(xiàn)了零配置。

棄用CommonsChunkPlugin

使用 optimize.splitChunks 和 optimization.runtimeChunk 替代 CommonsChunkPlugin?,F(xiàn)在我們可以更簡單的實現(xiàn)代碼分割和提取公共代碼等操作。

開箱即用WebAssembly

支持 WebAssembly,現(xiàn)在可以導入入 WebAssembly 支持的其它語言文件,在運行時的性能得到大幅度提升

支持多種模塊導入引用

支持 CommonJS, AMD, ESM 等模塊系統(tǒng)。

  1. javascript/auto: 在webpack3里,默認開啟對所有模塊系統(tǒng)的支持,包括CommonJS、AMD、ESM。
  2. javascript/esm: 只支持ESM這種靜態(tài)模塊。
  3. javascript/dynamic: 只支持CommonJS和AMD這種動態(tài)模塊。
  4. json: 只支持JSON數(shù)據(jù),可以通過require和import來使用。
  5. webassembly/experimental: 只支持wasm模塊,目前處于試驗階段。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、webpack的基本概念 webpack 本質(zhì)上是一個打包工具,它會根據(jù)代碼的內(nèi)容解析模塊依賴,幫助我們把多個...
    cilla123閱讀 1,715評論 0 8
  • GitChat技術(shù)雜談 前言 本文較長,為了節(jié)省你的閱讀時間,在文前列寫作思路如下: 什么是 webpack,它要...
    蕭玄辭閱讀 12,885評論 7 110
  • 近年來前端技術(shù)如雨后春筍般蓬勃發(fā)展,我們也在這個潮流下不斷地學習、成長。前端技術(shù)的不斷發(fā)展,給我們提供了許多的便利...
    bo_bo_bo_la閱讀 4,739評論 2 2
  • 最近在學習 Webpack,網(wǎng)上大多數(shù)入門教程都是基于 Webpack 1.x 版本的,我學習 Webpack 的...
    My_Oh_My閱讀 8,325評論 40 247
  • 在現(xiàn)在的前端開發(fā)中,前后端分離、模塊化開發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,659評論 1 32

友情鏈接更多精彩內(nèi)容