文章目錄
- 一、基礎核心
- 二、配置進階
- 三、性能優化
- 四、Loader原理
- 五、Plugin機制
- 六、高級應用
- 七、工程化實戰
- 八、原理深挖
- 九、異常處理
- 十、綜合場景
一、基礎核心
-
Webpack的核心概念是什么?
解析:入口(entry)、輸出(output)、加載器(loader)、插件(plugins)、模式(mode)。Loader處理非JS文件,Plugin擴展功能。 -
Loader和Plugin的區別?
解析:- Loader:文件轉換器(如.scss → .css)
- Plugin:生命周期鉤子中執行任務(如打包優化、資源注入)
-
如何實現一個簡單的Loader?
解析:導出一個函數,接收源碼,返回處理結果:module.exports = function(source) {return source.replace('foo', 'bar'); };
二、配置進階
-
如何配置多入口文件?
解析:entry: {app: './src/app.js',admin: './src/admin.js' }
-
如何動態生成HTML文件并注入資源?
解析:使用html-webpack-plugin
,自動注入打包后的JS/CSS。 -
開發環境 vs 生產環境配置差異
解析:- 開發:
devtool: 'eval-source-map'
、mode: 'development'
、熱更新 - 生產:代碼壓縮、資源優化、
mode: 'production'
- 開發:
三、性能優化
-
代碼分割(Code Splitting)的三種方式
解析:- 入口分割:
entry
多入口 - 動態導入:
import('./module')
- 配置分割:
optimization.splitChunks
- 入口分割:
-
如何壓縮JS/CSS?
解析:- JS:
TerserWebpackP
- JS: