Webpack 是一个现代化的 模块打包工具,广泛用于前端项目中。它能够将多个文件打包为一个或多个文件,优化加载性能,并支持代码分割、懒加载等高级功能。以下是 Webpack 的核心知识点:
1. 核心概念 📌
- 入口 (Entry):指定打包的起点文件,通常为
main.js
。 - 输出 (Output):定义打包后的文件存放路径和名称,例如
dist/main.js
。 - 加载器 (Loader):处理非 JavaScript 文件(如 CSS、图片),例如
style-loader
和css-loader
。 - 插件 (Plugin):扩展 Webpack 功能,如
HtmlWebpackPlugin
生成 HTML 文件。 - 模式 (Mode):开发模式(
development
)和生产模式(production
)的区别。
2. 使用步骤 🚀
- 初始化项目:
npm init -y
- 安装 Webpack:
npm install --save-dev webpack webpack-cli
- 创建
webpack.config.js
配置文件,指定入口、输出和加载器规则。 - 运行打包命令:
npx webpack
3. 配置文件示例 📄
// webpack.config.js
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
{
test: /\.(png|svg|jpg|gif)$/,
use: ['file-loader'],
},
],
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
}),
],
};
4. 常见问题解答 ❓
- Q: 如何热更新开发?
A: 使用webpack-dev-server
并开启hotModuleReplacement
。 - Q: 如何优化打包体积?
A: 配置splitChunks
实现代码分割,并使用TerserPlugin
压缩代码。