warning in ./node_modules/vue-router/dist/vue-router.esm-bundler.js “export ‘watchEffect‘ was not

本文讲述了在使用Vue CLI创建的新Vue2项目中,安装vue-router 4.0版本时遇到的TypeError。问题在于vue-router与Vue 2的版本不兼容。通过发现是版本过高导致的冲突,作者建议降级到vue-router 3.5.2版本来解决问题,并提供了相应的npm卸载和安装命令。
摘要由CSDN通过智能技术生成

1.问题

利用vue cli 新建vue2项目,安装vue-router后浏览器控制台报错:
Uncaught TypeError: Object(…) is not a function
在这里插入图片描述终端这边爆
warning in ./node_modules/vue-router/dist/vue-router.esm-bundler.js "export ‘watchEffect’ was not found in 'vue’
在这里插入图片描述
新创建的vue2项目除了vue-router什么也没安装
vue-router.esm-bundler.js在提示我们这个报错与vue-router有关

2.问题所在和解决

  • 创建的是vue2项目
    确定是vue-router的问题后,想了半天原来是安装vue-router时没有指定版本,然后npm自动下的是最新版,去package.json 一看果然:
 "dependencies": {
    "core-js": "^3.6.5",
    "vue": "^2.6.11",
    "vue-router": "^4.0.12"
  },

问题是:vue-router版本太高和vue2起冲突了,虽然router4.X的大部分的 Vue Router API 都没有变化,但vue-router 4.x 只能结合 vue3 进行使用,vue-router 3.x 只能结合 vue2 进行使用~(网上查的说法,我翻了下router官方文档没找到这样的

解决也很简单:卸载4版本的router,@指定版本装3.x的vue-router即可,我按自己的习惯安装3.5.2的vue-router亲测可用~

命令如下

  • npm uninstall vue-router
  • npm i vue-router@3.5.2
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值