configureWebpack 和 chainWebpack 区别

configureWebpack 和 chainWebpack 区别

前言

今天在配置vue项目时分不清上述两者的使用所以简单说明一下

具体说明

在Vue CLI中,configureWebpack和chainWebpack都是用来配置Webpack的选项,但它们之间有一些关键的区别。

configureWebpack

  • configureWebpack允许你直接修改Webpack的配置对象,它接收一个对象或一个函数作为参数。
  • 当你需要简单地修改Webpack配置时,比如添加一些"Loader"(加载器)或 "Plugin"(插件),或者修改一些现有的配置项时,可以使用configureWebpack。
  • 通过configureWebpack直接修改 Webpack 配置时,你只能覆盖现有的配置,而不能对其进行细粒度的修改。
javascript 复制代码
configureWebpack: config => {
  // 在开发环境中,添加一个 CopyPlugin 插件
  config.plugins.push(new CopyPlugin({
    patterns: [
      { from: "/appConf", to: "destination" }
    ]
  }));
},

chainWebpack

  • chainWebpack允许你通过 Webpack 的链式API来修改配置,它接收一个函数作为参数,该函数接收一个 ChainableConfig 对象作为参数。
  • 当你需要对 Webpack 配置进行更复杂的修改时,比如根据环境不同应用不同的配置,或者需要更精细地控制 Webpack 的配置时,可以使用chainWebpack。
  • 通过chainWebpack,你可以更灵活地对 Webpack 的配置进行修改,可以添加、移除、修改现有配置,也可以对Webpack的各个部分进行定制。
javascript 复制代码
chainWebpack: config => {
  config
    .plugin('html')
    .tap(args => {
      args[0].title = '新的标题'; // 在这里修改 HTMLWebpackPlugin 的 title
      return args;
    });
}

总结

configureWebpack适用于简单的配置修改,而chainWebpack则更适用于复杂的、需要灵活定制的配置修改。

相关推荐
zzZ··*11 小时前
CodeBuddy 用量看板:本地解析 Token 与积分消耗,不联网不上传
python·vue·ai编程
EatFan13 小时前
Go语言全栈实战:基于 Gin + Vue + JWT + RBAC 从零搭建前后端分离权限管理系统
vue.js·golang·go·vue·gin·jwt·rbac
就叫年华吧丶2 天前
长文档点目录定位总是不准?一个 content-visibility + 平滑滚动引发的连环坑(Vue3 实战)
前端·javascript·算法·vue
今年下半年3 天前
【VUE3】移动端:使用腾讯地图显示区域统计与放大显示资产点位
javascript·前端框架·vue·地图
志尊宝3 天前
Vue3 零基础每日笔记(054):Pinia 三件套详解——state / getters / actions 全搞懂
前端·javascript·vue.js·vue·前端开发
志尊宝10 天前
Vue3 零基础每日笔记(055):组件里正确使用 store——storeToRefs 解构与 $patch 批量修改
笔记·vue·html·前端开发·软件开发
yzy8510 天前
Vue中下载或打开文件的JavaScript方法
前端·javascript·vue
溪语流沙12 天前
Django + Vue电商项目第001讲:开篇|注册登录加增删改查,那不是电商
redis·python·mysql·docker·typescript·django·vue
程序员阿黄12 天前
基于 Django 与 Vue 3 的智能实验室预约系统设计与实现
后端·python·mysql·django·vue·毕设
.Hypocritical.12 天前
Vue CLI(vue-cli)和 Vite 超详细对比
vue