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则更适用于复杂的、需要灵活定制的配置修改。

相关推荐
无所谓^_^8 小时前
个人健康管理系统 | Springboot3 | Vue3
java·vue·毕业设计·springboot·课程设计·毕设·前后端分离
在努力的前端小白20 小时前
基于FastAPI+LangChain+LangGraph+Agent+多模态的AI Agent 有渔渔具网站
人工智能·langchain·vue·fastapi
sun_weitao1 天前
用 FastAPI + MQTT 做一个 ESP32最小化跑通示例
中间件·vue·fastapi
汤米粥5 天前
2026年主流前端技术框架
vue·react·elementplus·tailwind css·angular‌·svelte‌·bootstrap‌
codigger5 天前
Vue nextTick 到底在等什么?一篇讲透原理与那些年踩过的坑
程序员·vue·编程·异步更新·#人工智能
咚咚咚小柒6 天前
【前端】LangChain.js学习
前端·javascript·人工智能·typescript·langchain·vue·ai编程
悟道书生8 天前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
mewowaBc8 天前
使用Pinia持久化存储实现用户认证系统
vue·pinia·用户认证系统
gc_22999 天前
使用VS Code终端创建Vue项目报错:“npm : 无法加载文件 ...\npm.ps1,因为在此系统上禁止运行脚本”
vue·vs code
小阿鑫9 天前
尤雨溪 : Vue 4 已经在规划中了!
vue·vite·vite+·程序员海军·vue4