Webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当运行 webpack 时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。

特点

  • 模块打包:Webpack 能够将模块静态打包成一个或多个 bundle。
  • 代码拆分:Webpack 可以将代码拆分成多个小块,按需加载。
  • 加载器(Loaders):Webpack 本身只支持 JavaScript,但可以通过加载器(Loaders)来加载其他类型的文件,如 CSS、图片等。
  • 插件(Plugins):Webpack 插件可以用于扩展 webpack 功能,如压缩代码、添加环境变量等。

使用场景

  • 单页面应用(SPA):Webpack 是构建单页面应用(SPA)的常用工具。
  • 多页面应用:Webpack 也可以用于构建多页面应用。
  • 模块化开发:Webpack 支持模块化开发,有助于代码组织和维护。

示例

以下是一个简单的 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 Logo