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

以下是一些关于 Webpack 的基本概念和用法:

安装 Webpack

首先,你需要安装 Node.js 和 npm(Node.js 包管理器)。然后,在你的项目目录中运行以下命令来安装 Webpack:

npm install --save-dev webpack webpack-cli

配置文件

Webpack 使用一个配置文件 webpack.config.js 来定义如何处理应用程序中的模块。以下是一个基本的配置文件示例:

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

在配置文件设置完成后,你可以在命令行中使用以下命令来打包你的应用程序:

npx webpack

这将在 dist 目录下生成一个名为 bundle.js 的文件,其中包含了你的应用程序的所有依赖。

资源处理

Webpack 可以处理各种类型的资源,例如图片、字体和 CSS 文件。以下是如何配置 Webpack 来处理这些资源的示例:

module.exports = {
  // ...其他配置
  module: {
    rules: [
      // ...其他规则
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader'],
      },
      {
        test: /\.(png|svg|jpg|jpeg|gif)$/i,
        type: 'asset/resource',
      },
      {
        test: /\.(woff|woff2|eot|ttf|otf)$/i,
        type: 'asset/resource',
      },
    ],
  },
};

扩展阅读

想要了解更多关于 Webpack 的内容,可以阅读以下文章:

希望这个教程能帮助你入门 Webpack!🎉