Webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当运行 webpack 时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
特点
- 模块化:Webpack 能够将代码分割成多个模块,每个模块可以独立加载和更新。
- 懒加载:Webpack 支持代码的懒加载,可以按需加载模块,提高页面加载速度。
- 插件系统:Webpack 提供了一个强大的插件系统,可以扩展其功能。
- 支持多种模块类型:Webpack 支持多种模块类型,如 JavaScript、CSS、图片等。
使用场景
- 前端应用开发:Webpack 常用于构建大型前端应用,如单页应用(SPA)。
- 组件库构建:Webpack 可以用于构建前端组件库,如 React、Vue 等框架的组件库。
- Node.js 应用:Webpack 也可以用于构建 Node.js 应用。
示例
以下是一个简单的 Webpack 配置示例:
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
},
},
},
],
},
};
扩展阅读
更多关于 Webpack 的信息,请访问 Webpack 官方文档。
Webpack Logo