vue cli项目升级–vue cli3升级到vue cli4

vue cli项目升级–vue cli3升级到vue cli4本文介绍如何升级 vue 项目的 vuecli 版本

原文网址:vue cli项目升级–vue cli3升级到vue cli4_IT利刃出鞘的博客-CSDN博客

简介

说明

        本文介绍如何升级vue项目的vue cli版本。

官方网址

https://cli.vuejs.org/migrations/migrate-from-v3.html

https://cli.vuejs.org/zh/guide/installation.html#升级

为什么要升级?

Vue Cli4相对于Vue Cli3的改变:

  1. 项目结构更合理
  2. 依赖更新一些

详见:@vue/cli4–使用/教程/实例_IT利刃出鞘的博客-CSDN博客_vuecli4中文文档

升级的步骤

1.卸载旧版vue cli

npm uninstall vue-cli -g

yarn global remove vue-cli 

2.安装新版vue cli

npm install -g @vue/cli

yarn global add @vue/cli 

检查安装的版本

vue -V

输出:@vue/cli 4.x.x  说明@vue/cli 4安装成功

(vue cli 3的版本会输出 3.x.x)

3.升级项目依赖

方法

到项目的根目录下执行命令:

vue upgrade

此命令可以升级项目中的 Vue CLI 相关模块(以 @vue/cli-plugin- 或 vue-cli-plugin- 开头) 

如图所示

vue cli项目升级--vue cli3升级到vue cli4

提示:是否更新这些插件。输入Y即可

执行结果

执行完发现主要有 2 个文件被修改

1.babel.config.js

主要是 babel 的预设由@vue/app 改成了@vue/cli-plugin-babel/preset

原来的:

module.exports = { presets: [ '@vue/app', // 这行 [ '@babel/preset-env', { useBuiltIns: 'entry' } ] ] }

升级后:

module.exports = { presets: [ '@vue/cli-plugin-babel/preset', // 这行 [ '@babel/preset-env', { useBuiltIns: 'entry' } ] ] }

2.package.json

(package-lock.json 也会更改)

主要是依赖升级

原来的

{ "@vue/cli-plugin-babel": "^3.11.0", "@vue/cli-plugin-eslint": "^3.11.0", "@vue/cli-service": "^3.11.0" }

升级后

{ "@vue/cli-plugin-babel": "^4.0.5", "@vue/cli-plugin-eslint": "^4.0.5", "@vue/cli-service": "^4.0.5" }

4.手动解决问题

启动项目

npm run serve

然后报下面的错

vue cli项目升级--vue cli3升级到vue cli4

1.第一个错(警告)

WARN  A new version of sass-loader is available. Please upgrade for best experience.

这行是 vue cli 4 升级了自己的依赖 sass-loader 导致的

它把 sass-loader由 ^7.x.x 的版本升级到了 ^8.0.0,而我项目中使用的是^7.1.0

所以升级一下自己项目的 sass-loader 就好了

执行下面命令即可

npm i sass-loader@8.0.0 -D

2.第二个错:没有安装core-js

vue cli 4把 core-js由 ^2.x.x 的版本升级到了 ^3.x.x

于是安装一下

npm i core-js

然后重启项目还是不行,看了下官方文档和 babel 有关

main.js 代码中

import '@babel/polyfill'

隐藏这个代码

重启好了

然后把 @babel/polyfill 换成 babel-polyfill 即可

npm i babel-polyfill

main.js 代码中 改为

import 'babel-polyfill'

其他网址

vue cli 3 升级到 vue cli 4 方法步骤及升级点总结_xiaofei0627的博客-CSDN博客_vue-cli 升级

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202834.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:11
下一篇 2026年3月19日 下午11:12


相关推荐

  • 词向量的作用

    词向量的作用      为了描述词与词之间的相似程度而构建的高维向量,而视频,音频数据构建本身意义,可以直接通过数据进行描述图像与声音的相似度。

    2022年5月17日
    45
  • 本地部署OpenClaw(原Clawdbot)时,不同操作系统下配置环境变量的具体方法

    本地部署OpenClaw(原Clawdbot)时,不同操作系统下配置环境变量的具体方法

    2026年3月13日
    1
  • Anaconda与Pycharm的辨析[通俗易懂]

    Anaconda与Pycharm的辨析[通俗易懂]Anaconda与Pycharm的辨析Anaconda是python文件的一个包管理器,可以用它下载python文件的相关库和包,制作成python编程所需要的环境(模块、包、库)Pycharm是python文件的集成开发环境,在Pycharm上可以进行python文件的开发与调试,像VisualStudio之于C++,Eclipse之于Java。Pycharm里面也有下载python文件的相关库和包的功能,但很多库和包Pycharm可能因为网络及版本问题不能下载安装故Pycharm和Anacon

    2022年8月25日
    16
  • Java中List初始化

    Java中List初始化文章目录文章目录 1 构造 List 后使用 List add 初始化 2 使用 undefined 双括号语法 3 使用 Arrays asList4 使用 Stream JDK8 5 使用 Lists JDK9 1 构造 List 后使用 List add 初始化 List String stringList newLinkedLis lt gt stringList add a stringList add b stringList add c String

    2026年3月17日
    1
  • ESP32开发之旅——RC522模块的使用

    ESP32开发之旅——RC522模块的使用ESP32开发之旅——RC522模块的使用前言在本文中,您将学会如何使用ESP32连接RFID模块RC522,本文提供了简单的示例供学习参考。需要注意的是,本文中的ESP32是使用MicroPython进行开发的,(同时ESP8266也可按照本文进行开发)。本文中出现的代码是从GitHub开源库中搬运而来,GitHub链接已放在文尾。RFID-RC522模块的简单介绍​ 射频识别RFID(RadioFrequencyIdentification)是一种无线数据传输系统,用于在标签和读取

    2022年7月14日
    29
  • validate bootstrap 方法「建议收藏」

    validate bootstrap 方法「建议收藏」文章来自:源码在线https://www.shengli.me/jquery/167.html引入文件:jquery-2.1.0.min.jsbootstrap.min.jsbootstrapValidate.js 

    2022年8月30日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号