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日

相关文章

  • 解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题

    当我们在使用Vue开发一个单页面应用(Single Page Application)的时候,会使用到Vue CLI打包工具来将我们的项目打包成静态文件。但是,有时候我们在打开打包完后的index.html文件时,会遇到页面空白以及图片路径错误的问题。下面我将详细讲解如何解决这个问题。 问题原因 Vue打包后生成的静态文件是以相对路径的形式来引入图片等资源文…

    other 2023年6月27日
    00
  • 使用ViewPager实现三个fragment切换

    使用ViewPager实现三个Fragment切换 ViewPager是Android开发中一个常用的UI组件,可以轻松地实现多个Fragment之间的切换,这篇文章将介绍如何使用ViewPager实现三个Fragment的切换。 1. 添加ViewPager组件 首先,我们需要在布局文件中添加ViewPager组件,代码如下: <androidx.v…

    其他 2023年3月28日
    00
  • 12C新特性–Application Continuity

    12C新特性–Application Continuity Oracle 12c是一个重要的版本,其中加入了许多新特性,帮助用户提高性能、可用性和安全性等方面的表现。其中一个新特性就是Application Continuity。 什么是Application Continuity Application Continuity是Oracle 12c数据库的…

    其他 2023年3月28日
    00
  • C语言中的三种循环语句

    C语言中提供了三种循环语句,分别是while、do-while和for循环。这三种循环语句用于重复执行一组指令,直到一个特定的条件被满足。下面我来一一介绍它们的用法。 while循环语句 while循环语句的用法如下: while(condition) { //循环体 } 其中,condition是循环条件,当condition为真时,执行循环体。循环体是被…

    other 2023年6月27日
    00
  • 基于Vue制作组织架构树组件

    什么是组织架构树组件?组织架构树组件是一种常见的前端组件,用于显示企业或组织机构的人员层级关系,可以让用户清晰地了解整个组织的人员关系、职位层级等信息。 Vue是什么?Vue是一款轻量级的JavaScript框架,被广泛用于开发Web应用程序。Vue具有极高的灵活性和可定制性,允许开发人员轻松构建复杂的Web组件并实现数据双向绑定和响应式UI设计。 制作组织…

    other 2023年6月27日
    00
  • Android开发Dart Constructors构造函数使用技巧整理

    Android开发Dart Constructors构造函数使用技巧整理 什么是构造函数 在面向对象编程中,构造函数是类的一个特殊方法,用于创建该类的一个对象(实例)时调用。构造函数通常用于初始化类的成员变量。 在Dart中,构造函数的名称必须与类名相同。同时,Dart还支持命名构造函数,用于创建对象时使用不同的名称。 构造函数的使用技巧 默认构造函数 如果…

    other 2023年6月26日
    00
  • hdp企业级大数据平台

    HDP 企业级大数据平台攻略 HDP(Hortonworks Data Platform)是一款企业级大数据平台,它基于 Apache Hadoop 和相关技术构建,提供了一系列工具和服务,用于存储、处理和分析大数据。在本攻略中,我们将介绍如何安装和配置 HDP,并提供两个示例说明。 环境要求 在安装 HDP 之前,您需要确保满足以下要求: 一台运行 Lin…

    other 2023年5月6日
    00
  • [转] ElasticSearch 常用的查询过滤语句

    [转] ElasticSearch 常用的查询过滤语句 欢迎大家来到本篇文章。本文将介绍 ElasticSearch 常用的查询过滤语句,希望能够帮助大家更好地了解 ElasticSearch 的使用方法。 Query String Query Query String Query 是 ElasticSearch 中最常见的查询语句之一,它可以根据指定的搜索…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部