webpack的作用,關于webpack4的14個知識點,童叟無欺

 2023-10-08 阅读 20 评论 0

摘要:沒有什么比時間更具有說服力了,因為時間無需通知我們就可以改變一切。? ? ? 最近工作中用到了nuxt,才發現,如果webpack學的6,nuxt基本不需要學習,沒什么學習成本的,因此,這篇重新記錄下webpack4的一些基礎知識點,下一篇將會配置一個優化到極致的react腳手架,也希望大家
沒有什么比時間更具有說服力了,因為時間無需通知我們就可以改變一切。? ? ?

最近工作中用到了nuxt,才發現,如果webpack學的6,nuxt基本不需要學習,沒什么學習成本的,因此,這篇重新記錄下webpack4的一些基礎知識點,下一篇將會配置一個優化到極致的react腳手架,也希望大家能夠持續關注,配置webpack就是優化優化再優化,哈哈~

已經發布了webpack4的30個步驟打造優化到極致的react開發環境,如約而至,點擊這里

酒壯慫人膽,我學這個的辦法基本就分3步:

  1. 首先,將這些必要的配置,以及某些loader,某些插件,像語文課文一樣默讀,并背誦(這一步最重要)
  2. 動手去實踐,去試錯
  3. 理解其原理

好了,正式開始

前言

Webpack可以看做是模塊打包機:它做的事情是,分析你的項目結構,找到JavaScript模塊以及其它的一些瀏覽器不能直接運行的拓展語言(Scss,TypeScript等),并將其打包為合適的格式以供瀏覽器使用。

WebPack和Grunt以及Gulp相比有什么特性

其實Webpack和另外兩個并沒有太多的可比性,Gulp/Grunt是一種能夠優化前端的開發流程的工具,而WebPack是一種模塊化的解決方案,不過Webpack的優點使得Webpack在很多場景下可以替代Gulp/Grunt類的工具。

  1. Entry:入口,Webpack 執行構建的第一步將從 Entry 開始,可抽象成輸入。
  2. Module:模塊,在 Webpack 里一切皆模塊,一個模塊對應著一個文件。Webpack 會從配置的 Entry 開始遞歸找出所有依賴的模塊。
  3. Chunk:代碼塊,一個 Chunk 由多個模塊組合而成,用于代碼合并與分割。
  4. Loader:模塊轉換器,用于把模塊原內容按照需求轉換成新內容。
  5. Plugin:擴展插件,在 Webpack 構建流程中的特定時機注入擴展邏輯來改變構建結果或做你想要的事情。
  6. Output:輸出結果,在 Webpack 經過一系列處理并得出最終想要的代碼后輸出結果。

1. 從0開始配置結構

  • 初始化項目結構

2. 配置webpack.config.js

  • 在項目根目錄新建webpack.config.js

3. 配置開發服務器

4. 打包js

5. 支持ES6,react,vue

6. 處理css,sass,以及css3屬性前綴

處理css

動態卸載和加載CSS

style-loader為 css 對象提供了use()和unuse()兩種方法可以用來加載和卸載css

比如實現一個點擊切換顏色的需求,修改index.js

處理sass

提取css文件為單獨文件

7.產出html

8. 處理引用的第三方庫,暴露全局變量

webpack.ProvidePlugin參數是鍵值對形式,鍵就是我們項目中使用的變量名,值就是鍵所指向的庫

9. code splitting、懶加載(按需加載)

說白了就是在需要的時候在進行加載,比如一個場景,點擊按鈕才加載某個js.

10. JS Tree Shaking

11. 圖片處理

12. Clean Plugin and Watch Mode

清空目錄,文件有改動就重新打包

13. 區分環境變量

14. 開發模式與webpack-dev-server,proxy

到這里基本就結束了,覺得有幫助,不妨點個,不足之處,還望斧正~

轉載于:https://juejin.im/post/5cea1e1ae51d4510664d1652

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/130015.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息