当前位置: 首页 > article >正文

vue2 项目webpack 4升5

项目背景

公司项目需要将进行微前端改造.主应用和子应用会需要共享依赖,考虑使用模块联邦进行依赖共享.
由于模块联邦要升级到webpack 5才能用,所以老项目要从webpack 4升级到webpack 5

实现思路

原来的项目用的是vue-cli 3,查了一下可以vue-cli 5用的就是webpack 5,所以可以直接将vue-cli3 ->5就可以了

具体实现

参考vue-cli的文档Migrate from v4

  1. npm update-g @vue/cli
  2. 将所有带有@vue/cli-的全部升级到最新
  3. disableHostCheck 改成allowedHosts: 'all'

遇到的问题

webpack4->5有很多破坏性升级 从 v4 升级到 v5 | webpack 中文文档

  1. cannot resolve corejs->core-js找不到,需要下载并显式指定
    npm i corejs(下2下3都行,我下的是3)
    需要在vue.config.js中显式指定
  presets: [
    ['@vue/app',
    //显式指定core-js版本
      {
        'useBuiltIns': 'usage',
        'corejs': '3.39.0'//指定用的corejs版本
      }]
  ],
  1. 默认不再包含Node.js核心模块的polyfills 需要重新安装
    2.1. path需要安装
    2.2. process.env需要安装插件DefinePluginEnvironmentPlugin(但是vue-cli本身就是用的这两个注入环境变量的

  2. script-ext-html-webpack-plugin不再适配webpack 5,需要去掉

  3. css失效->sass,sass-loader 升级
    4.1. sass-loader:^7.1.0->^12.0.0
    4.2.sass:1.26.10->^1.26.10

  4. >>>样式穿透失效需改用::v-deep
    5.1. >>>深度选择器不是标准的css选择器,vue-loader 15以上已经弃用,vue-cli 5用的17+的vue-loader就不支持了
    Migrating from v14 | Vue Loader
    5.2. >>>和sass的语法冲突,sass 解析器可能会将其误解为多个连续的 > 操作符,多个连续的 > 操作符在sass和css中都没有意义

参考链接:
https://p2yang.github.io/blog/upgrade-webpack5
https://blog.csdn.net/Note_creek/article/details/129714938
https://juejin.cn/post/7083146700939853832
https://blog.csdn.net/sinat_31213021/article/details/134195881
https://blog.csdn.net/m0_37937502/article/details/124986762


http://www.kler.cn/a/441766.html

相关文章:

  • 项目中使用的是 FastJSON(com.alibaba:fastjson)JSON库
  • Flask简介与安装以及实现一个糕点店的简单流程
  • 【机器学习实战入门】使用OpenCV进行性别和年龄检测
  • 广播网络实验
  • JavaScript系列(36)--微服务架构详解
  • Spring Boot 3.3.4 升级导致 Logback 之前回滚策略配置不兼容问题解决
  • docker xxxx is using its referenced image ea06665f255d
  • 使用echarts实现3d柱状图+折线图
  • Vue3 重置ref或者reactive属性值
  • JAVA企业级项目的日志记录技术
  • 《变形金刚:赛博坦的陨落》游戏启动难题:‘buddha.dll’缺失的七大修复策略
  • 搭建C#开发环境
  • Qt6开发自签名证书的https代理服务器
  • 【Unity/HFSM】使用UnityHFSM实现输入缓冲(预输入)和打断机制
  • Redis API(springboot整合,已封装)
  • Mac上使用ln指令创建软链接、硬链接
  • 模拟法简介(蓝桥杯)
  • Sql注入(靶场)14-20关
  • 力扣.——560. 和为 K 的子数组
  • 关于SQL注入的面试题及经验分享
  • 测试框架 —— Playwright Fixture夹具有效利用的建议指南!
  • Springboot和vue前后端交互实现验证码登录
  • 【Leetcode 每日一题 - 扩展】1326. 灌溉花园的最少水龙头数目
  • 如何在 Ubuntu 22.04 上安装 Strapi CMS
  • [SAP ABAP] 序列化与反序列化
  • Javer学习Groovy