IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> [vue3.x]实战问题--vue2.x升级vue3.x遇到的问题 -> 正文阅读

[JavaScript知识库][vue3.x]实战问题--vue2.x升级vue3.x遇到的问题

主要是记录一在使用vue,并且从vue2.x升级版本过程中遇到的问题,方便以后的查找

环境

升级vue@next

脚手架:vue-cli
vue:2.6.11

更新脚手架

脚手架如果存在全局安装

npm i @vue/cli -g

然后在项目中更新@vue/cli-service

npm i @vue/cli-service -D

然后使用vue update
查看当前项目需要更新插件(所有脚手架相关插件),一路y更新所有列出的更新

运行项目,此时可以正常启动

vue 升级

package更新

npm i vue@next --save
npm i vuex@next --save
npm i vue-router@next --save
npm i @vue/compiler-sfc -D

不需要内容,直接删除

项目变更

全局设置

//阻止提示生产消息
Vue.config.productionTip = false;
Vue.config.productionTip 移除

router

迁移

router的原始设置

const routes = [
  {
    path: "/",
    redirect: "/index",
  },
  {
    path: "/index",
    name: "IndexPage",
    component: Index
  },
  {
    path: "/404",
    // route level code-splitting
    // this generates a separate chunk (404.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () => import(/* webpackChunkName: "404" */"../components/no-found.vue") //懒加载
  },
  {
    path: "/:pathMatch(.*)",
    redirect: "/404"
  }
];

产生报错信息

vue-router.esm-bundler.js?6c02:3181 Uncaught TypeError: Cannot read property 'location' of undefined
    at Object.install (vue-router.esm-bundler.js?6c02:3181)
    at Object.use (runtime-core.esm-bundler.js?5c40:2920)
    at eval (main.js?56d7:18)
    at Module../src/main.js (app.js:1263)
    at __webpack_require__ (app.js:854)
    at fn (app.js:151)
    at Object.1 (app.js:1432)
    at __webpack_require__ (app.js:854)
    at checkDeferredModules (app.js:46)
    at app.js:994

该报错主要是因为router的设置有问题

官网迁移指南说是:

"history": createWebHistory()
"hash": createWebHashHistory()
"abstract": createMemoryHistory()

这个是指不同的方式对应的方法,但是在真正的去设置router使用的方式时

createRouter({
  history: createWebHistory(),
  routes: [],
})
createRouter({
  history: createWebHashHistory(),
  routes: [],
})

createRouter里的参数始终是history,不论采用的是何种路由方式,否则会报上述错误

router版本更新后还遇到以下问题

vue-router.esm-bundler.js:1 Uncaught Error: Module build failed: Error: ENOENT: no such file or directory, open 'D:\vue\vue3.x-cli\node_modules\vue-router\dist\vue-router.esm-bundler.js'

遇到该问题后直接重新启动后修复了

根据遇到该问题之前的操作考虑,可能是由于更新router版本导致的,所以重启后就恢复了正常

并且发现了一个现象

http://localhost:8080/gsdfgsfdg#/index
#之前,也就是hash随便加了东西仍会跳转

vue3.0使用的不匹配路径问题
{
  path:"*",
  redirect: "/404"
}

变更为

{
  path:"/:pathMatch(.*)*",
  redirect: "/404"
}

babel 的配置

删除babel配置文件 babel.config.js

module.exports = {
  presets: ["@vue/cli-plugin-babel/preset"],
  plugins: [
    [
      //按需加载js
      "import",
      {libraryName: "ant-design-vue", libraryDirectory: "es", style: true}
      // { libraryName: "Antd", libraryDirectory: "es", style: "css"}
    ],
  ]
};

添加.babelrc

{
    "plugins": [
        ["import",  {"libraryName": "ant-design-vue", "libraryDirectory": "es", "style": true}]
    ]
}

但是也可以继续使用之前的配置,使用之前的配置也不影响项目的正常运行

prop问题

warning.js?2149:6 Warning: `prop` is deprecated. Please use `name` instead.

    const zip=computed({
      get:()=>form.value.name,
      set:(val)=>{
      }
    })

错误提示:
chrome-extension://hillfcdicknhgccefgpmjgdjlabedaga/index.js net::ERR_FILE_NOT_FOUND

分析:
浏览器安装的vue的开发者工具无法正常解析vue项目导致的报错

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:05:12  更:2022-09-13 11:07:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:04:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码