【Webpack配置全解析】打造你的专属构建流程️(4)

webpack 提供的 CLI 支持很多参数,例如 --mode,但更多的时候,我们会使用更加灵活的配置文件来控制 webpack 的行为。默认情况下,webpack 会读取 webpack.config.js 文件作为配置文件,但也可以通过 CLI 参数 --config 来指定某个配置文件。

配置文件中通过 CommonJS 模块导出一个对象,对象中的各种属性对应不同的 webpack 配置。配置文件中的代码必须是有效的 Node.js 代码。当命令行参数与配置文件中的配置出现冲突时,以命令行参数为准。

基本配置

以下是一些常见的 webpack 配置项:

  1. mode :编译模式,字符串,取值为 developmentproduction,指定编译结果代码运行的环境,会影响 webpack 对编译结果代码格式的处理。
  2. entry:入口,字符串或数组,指定入口文件。
  3. output:出口,对象,指定编译结果文件。
示例配置文件
javascript 复制代码
const path = require('path');

module.exports = {
  // 编译模式
  mode: 'development', // 或 'production'

  // 入口文件
  entry: './src/index.js', // 单个入口
  // entry: {
  //   main: './src/index.js', // 多个入口
  //   another: './src/another.js'
  // },

  // 出口文件
  output: {
    filename: 'bundle.js', // 输出文件名
    path: path.resolve(__dirname, 'dist') // 输出路径
  },

  // 模块规则
  module: {
    rules: [
      {
        test: /\.js$/, // 匹配 .js 文件
        exclude: /node_modules/, // 排除 node_modules 目录
        use: {
          loader: 'babel-loader' // 使用 Babel 转换 ES6 代码
        }
      },
      {
        test: /\.css$/, // 匹配 .css 文件
        use: ['style-loader', 'css-loader'] // 使用 style-loader 和 css-loader
      }
    ]
  },

  // 插件
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html' // 使用模板生成 HTML 文件
    })
  ],

  // 开发服务器
  devServer: {
    contentBase: './dist', // 静态文件根目录
    hot: true // 热模块替换
  }
};
详细解释
  1. mode:编译模式

    • development:开发模式,不会对代码进行压缩,适合开发环境。
    • production:生产模式,会对代码进行压缩和优化,适合生产环境。
  2. entry:入口文件

    • 单个入口:entry: './src/index.js'
    • 多个入口:entry: { main: './src/index.js', another: './src/another.js' }
  3. output:出口文件

    • filename:输出文件名。
    • path:输出路径,使用 path.resolve 确保路径是绝对路径。
  4. module:模块规则

    • rules:定义一组规则,用于处理不同类型的文件。
      • test:匹配文件的正则表达式。
      • exclude:排除某些文件或目录。
      • use:使用的加载器(loader)。
  5. plugins:插件

    • 插件用于执行更复杂的任务,如生成 HTML 文件、压缩代码等。
    • 例如,HtmlWebpackPlugin 用于生成 HTML 文件。
  6. devServer:开发服务器

    • contentBase:静态文件根目录。
    • hot:启用热模块替换(HMR),在开发过程中自动刷新页面。
使用配置文件
  1. 创建配置文件

    在项目根目录下创建 webpack.config.js 文件,内容如上所示。

  2. 安装必要的依赖

    bash 复制代码
    npm install --save-dev webpack webpack-cli babel-loader @babel/core @babel/preset-env html-webpack-plugin
  3. 运行构建

    package.json 中添加一个 build 脚本:

    json 复制代码
    {
      "scripts": {
        "build": "webpack"
      }
    }

    然后运行:

    bash 复制代码
    npm run build
  4. 启动开发服务器

    如果你配置了 devServer,可以通过以下命令启动开发服务器:

    bash 复制代码
    npx webpack serve

总结

通过本课程,你已经基本掌握了如何使用 webpack 配置文件来控制构建过程。配置文件提供了更灵活的方式来管理复杂的构建任务,使得开发更加高效和便捷。

相关推荐
️学习的小王12 分钟前
Windows Claude Code 接入 Playwright‑MCP,调用本机Edge浏览器(避坑完整教程)
前端·windows·edge
律宏阔18 分钟前
CloakBrowser 开发踩坑笔记
前端·浏览器
Made in Haven71224 分钟前
HTML课程笔记补2
前端·笔记·html
Cry丶33 分钟前
Vue 3 业务管理页面实战:组件拆分、父子通信与弹窗复用
前端·javascript·vue.js·父子通信·组件拆分·弹窗复用
雪芽蓝域zzs43 分钟前
Vue前端配置路由通配捕获 404
前端·javascript·vue.js
计算机魔术师44 分钟前
Anthropic 发布电商 Agent 架构与生产实践指南,并开源 commerce-agents 参考实现
前端
IMPYLH1 小时前
HTML 的 <ol> 元素
前端·html
IMPYLH1 小时前
HTML 的 <object> 元素
前端·html
DevOpenClub1 小时前
PDF 多格式解析如何避免混用输出:TEXT、HTML、XML 与 TAG 数据契约
xml·前端·数据库·pdf·html
抓不住时间的沙1 小时前
N1搭建守护环境以及重装 Armbian 后完整恢复整套守护环境,清理日志步骤
node.js