webpack 的安裝和使用

webpack 官網(wǎng):https://www.webpackjs.com/
目前的最新版本:webpack5

webpack 簡介

webpack 是基于模塊化的打包(構建)工具,它把一切視為模塊

它通過一個入口模塊為起點,分析出所有的依賴關系,然后經(jīng)過一系列的過程(壓縮、合并),最終生成運行時態(tài)的文件。

webpack 的特點:

  • 為前端工程化而生:webpack 致力于解決前端工程化問題,特別是瀏覽器端工程化中遇到的問題,讓開發(fā)者集中注意力編寫業(yè)務代碼,而把工程化過程中的問題全部交給 webpack 來處理
  • 簡單易用:支持零配置,可以不用寫任何一行額外的代碼就使用 webpack
  • 強大的生態(tài):webpack 是非常靈活、可以擴展的,webpack 本身的功能并不多,但它提供了一些可以擴展其功能的機制,使得一些第三方庫可以融于到 webpack 中
  • 基于 nodejs:由于 webpack 在構建的過程中需要讀取文件,因此它是運行在 node 環(huán)境中的
  • 基于模塊化:webpack 在構建過程中要分析依賴關系,方式是通過模塊化導入語句進行分析的,它支持各種模塊化標準,包括但不限于 CommonJS、ES6 Module

webpack 的安裝

webpack 通過可以 npm 安裝,它提供了兩個包:

  • webpack:核心包,包含了 webpack 構建過程中要用到的所有 api
  • webpack-cli:提供一個簡單的 cli 命令,它調用了 webpack 核心包的 api,來完成構建過程

安裝方式:

  • 全局安裝:可以全局使用 webpack 命令,但是無法為不同項目對應不同的 webpack 版本
npm i -g webpack webpack-cli
  • 本地安裝:推薦,每個項目都使用自己的 webpack 版本進行構建
npm i webpack webpack-cli -D

使用

webpack

直接在終端運行 webpack 命令,如果報錯:


終端執(zhí)行webpack報錯.png

這是因為 webpack 沒有全局安裝,而是作為項目的本地依賴安裝的,要解決這個問題,我們可以通過配置 npm 腳本,比如:

"scripts": {
     "build": "webpack --mode=production",
     "dev": "webpack --mode=development"
}

現(xiàn)在可以在終端中運行 npm run build 或者 npm run dev來構建項目了,這樣 webpack 就會從項目的 node_modules 目錄中加載,而不是從全局環(huán)境中尋找webpack,或者在沒有配置腳本的情況下我們也可以通過npx 來運行 webpack:

npx webpack --mode=development
或
npx webpack --mode=production

默認情況下,webpack會以./src/index.js作為入口文件分析依賴關系,打包到./dist/main.js文件中

通過--mode選項可以控制webpack的打包結果的運行環(huán)境,mode可以是以下某個值:
string = 'production': 'none' | 'development' | 'production'
這表示mode默認值為production,當取不同的值時webpack 會使用相應模式的內置優(yōu)化,這里借助官網(wǎng)的圖來說明:

mode不同值對應的內置優(yōu)化.png

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容