vue-cli3项目升级到vue-cli4 的方法总结

请听我详细讲解如何将已有的 vue-cli3 项目升级到 vue-cli4

1. 概述

vue-cli3vue-cli4 的差异在于,vue-cli4 对于项目结构的更改和插件的升级,更好地支持了现代化的前端技术(Babel7Webpack4TypeScript 等),提供了更好的性能和稳定性。因此,升级到 vue-cli4 是必要的,尤其是如果你的项目已经使用了 vue3.0。以下是具体的升级步骤。

2. 准备

首先,我们需要按照 vue-cli4 的要求安装 node.js(建议使用长期支持版本,至少为 v10)和 @vue/cli

# 安装node.js
https://nodejs.org/en/

# 安装@vue/cli
npm install -g @vue/cli

此外,我们需要备份原有的 vue-cli3 项目,以免升级过程中发生不可预料的错误。

3. 升级

3.1 执行升级命令

在备份完成后,我们可以进入原有的 vue-cli3 项目目录,并执行以下命令进行升级:

vue upgrade --next

此命令会自动将项目转换为 vue-cli4 的格式,并且尝试保留现有的系统文件,如 babel.config.jspostcss.config.js 等。

3.2 修复eslint相关警告

在进行完升级后,我们需要进一步解决一些警告。在 vue-cli4 中,尝试从配置文件中自动加载 eslint 插件。因此,在升级完成后,我们需要根据控制台的错误信息更新 package.json 中的相应配置和插件依赖。

具体来说,在 package.json 中需要添加以下内容:

"eslintConfig": {
  "root": true,
  "env": {
    "node": true
  },
  "extends": [
    "plugin:vue/essential",
    "@vue/standard"
  ],
  "parserOptions": {
    "parser": "babel-eslint"
  },
  "rules": {
    "no-console": "off"
  }
}

同时,需要重新安装一下 eslint 和相关的插件:

npm install eslint eslint-plugin-import eslint-plugin-node eslint-plugin-prettier eslint-plugin-promise eslint-plugin-standard eslint-plugin-vue@^6.0.0 babel-eslint eslint-config-prettier eslint-plugin-eslint-plugin -D

3.3 修复其他警告和错误

根据你自己的项目配置,进一步查找控制台警告和错误。如果需要,你可以按照以下提示进行更改:

3.3.1 postcssautoprefixer

在更新 postcssautoprefixer 的版本时,我们需要在 vue.config.js 或者 postcss.config.js 中更新 plugins 配置。例如:

// vue.config.js
module.exports = {
  css: {
    loaderOptions: {
      postcss: {
        plugins: [
          require('autoprefixer')({
            browsers: ['last 40 versions', 'Firefox >= 5', 'Safari >= 6', 'ie > 8', 'iOS >= 6', 'Android >= 4']
          })
        ]
      }
    }
  }
};

3.3.2 babel

vue-cli4 项目中,所有的 babel 配置都保存在 babel.config.js 文件中。因此,我们需要将原有的配置迁移到该文件中。例如:

// babel.config.js
module.exports = {
  presets: [['@babel/preset-env', { useBuiltIns: 'usage', corejs: 3 }]],
  plugins: ['lodash', '@babel/plugin-syntax-dynamic-import']
};

3.3.3 webpackwebpack-dev-server

在升级完成后,我们可以根据新版本的文档更新 webpackwebpack-dev-server 的配置。例如:

// vue.config.js
module.exports = {
  devServer: {
    clientLogLevel: 'warning',
    historyApiFallback: true,
    hot: true,
    compress: true,
    host: 'localhost',
    port: 8080,
    open: true,
    overlay: {
      warnings: false,
      errors: true
    },
    publicPath: '/',
    proxy: {},
    quiet: true,
    watchOptions: {
      poll: false
    }
  },

  configureWebpack: {
    plugins: []
  },

  chainWebpack: config => {}
};

3.3.4 其他插件和依赖

根据你的项目配置和依赖,更新其他警告和错误。例如,我们可以更新 lodash 的版本:

npm install lodash@^4.17.15 -D

4. 示例说明

下面是两个示例说明:

示例一

如何升级 vue-cli3 项目到 vue-cli4,并使用 TypeScript

vue create my-project
cd my-project
vue add typescript
vue upgrade --next

此操作会自动将现有的 vue-cli3 项目升级为 vue-cli4 格式,并支持 TypeScript,同时保留现有的配置文件和插件。此外,我们只需要添加并安装 vue-cli-plugin-typescript 插件即可。

示例二

如何在 vue-cli4 项目中使用 axios

npm install axios --save

在代码中添加以下内容:

import axios from 'axios';
Vue.prototype.$http = axios;

这样我们就可以在项目中使用 axios 了。此外,我们可以使用 vue-cli-plugin-axios 插件来自动完成此操作:

vue add axios

这样会在项目中自动安装 axiosvue-axios 插件。并且添加了示例代码,方便你使用 axios

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue-cli3项目升级到vue-cli4 的方法总结 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 微信公众号用户与网站用户的绑定解决方案分析

    微信公众号用户与网站用户的绑定解决方案分析 背景介绍 随着微信公众号用户的增长,我们发现越来越多的网站需要提供微信登录的功能,并且希望将微信公众号用户与网站用户绑定起来。这个过程中涉及到多个方面的问题,比如数据同步、用户信息的安全和隐私等。 解决方案分析 一般来说,微信公众号用户与网站用户的绑定可以通过以下两种方式来实现。 1. OAuth2.0认证接入 O…

    other 2023年6月26日
    00
  • VScode中配置使用fortran的方法

    下面是详细讲解VScode中配置使用Fortran的方法: 前置条件 在开始配置使用Fortran之前,需要确保以下条件已满足: 已安装Visual Studio Code 已安装Fortran编译器(如GNU Fortran) 步骤一:安装使用Fortran的扩展 在Visual Studio Code中,可以通过安装扩展来支持使用Fortran,具体步骤…

    other 2023年6月26日
    00
  • win8/win10更新系统后重启电脑没反应的四种解决方法

    win8/win10更新系统后重启电脑没反应的四种解决方法 在使用Windows 8或Windows 10等操作系统时,更新系统是非常常见的操作。但有时候在系统更新完毕后重启电脑时,会发现电脑没反应,无法正常启动。那么这时候我们该如何解决这个问题呢?以下是几种可行的解决方法。 1. 停止和清除软件分发文件夹的内容 步骤如下: 按下键盘上的Win+R键,打开“…

    other 2023年6月27日
    00
  • Python中type的构造函数参数含义说明

    完整攻略:Python中type的构造函数参数含义说明 type是Python中的一个内置函数,常被用来获取对象的类型信息,在Python中,一切皆对象,因此type函数非常常用。type函数的构造函数参数可以用于创建新的对象类型,从而帮助我们在程序运行时动态的创建类。 type构造函数的完整语法如下: type(name, bases, dict) 在这个…

    other 2023年6月26日
    00
  • 什么是oss/bss(电信业务)

    什么是OSS/BSS(电信业务) 什么是OSS/BSS OSS(Operation Support System,运营支撑系统)和BSS(Business Support System,业务支撑系统)是指电信运营商用于管理其业务流程的两个系统。OSS和BSS都是由一系列的应用程序组成,为运营商提供了管理、监视和支持各种业务流程的工具。 OSS系统关注技术支持…

    其他 2023年3月29日
    00
  • Mysql环境变量配置的详细图文教程

    Mysql是一个非常流行的关系型数据库管理系统,许多项目都需要使用它。在使用Mysql之前,需要先进行环境变量配置,以便在命令行中快速调用Mysql。 以下是Mysql环境变量配置的详细图文教程: 第一步:下载并安装Mysql 首先,需要从官方网站 [https://dev.mysql.com/downloads/mysql/] 下载对应版本的Mysql,并…

    other 2023年6月27日
    00
  • Android实战APP启动速度优化

    以下是Android实战APP启动速度优化的完整攻略: 1. 减少启动时的冷启动时间 使用启动页(Splash Screen):在应用启动时显示一个简单的启动页,以便在后台进行必要的初始化操作,同时给用户一个加载的提示。 延迟加载非必要资源:将非必要的资源加载延迟到应用启动后再进行,以减少启动时的资源加载时间。 示例1:使用启动页 public class …

    other 2023年10月16日
    00
  • svg 贝塞尔曲线图解(记录)

    下面是“SVG 贝塞尔曲线图解(记录)”的完整攻略,包括贝塞尔曲线的基本概念、贝塞尔曲线的类型、贝塞尔曲线的控制点和两个示例等方面。 贝塞尔曲线的基本概念 贝塞尔曲线是一种数学曲线,由法国数学家Pierre Bézier于20世纪50年代发明。贝塞尔曲线可以用于图形设计、计算机图形学、工程设计等领域。贝塞尔曲线由控制点和控制线组成,可以用于描述平滑曲线和曲面…

    other 2023年5月6日
    00
合作推广
合作推广
分享本页
返回顶部