首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义的TypeError:无法读取未定义的属性(读取“使用”)

未定义的TypeError:无法读取未定义的属性(读取“使用”)
EN

Stack Overflow用户
提问于 2021-12-06 21:00:28
回答 2查看 15.9K关注 0票数 2

我正在尝试使用vue js启动一个新项目。我认为我有通过终端所需的所有依赖项。我安装了npm,vue,vue引导程序和vue路由器.错误来自router.js,Vue.use(VueRouter)上的第7行。

这是我的main.js代码

代码语言:javascript
复制
import Vue from "vue"
import App from "./App.vue"
import router from "./router.js"
import BootstrapVue from "bootstrap-vue"
import "bootstrap/dist/css/bootstrap.css"
import "bootstrap-vue/dist/bootstrap-vue.css"

Vue.use(BootstrapVue)

Vue.config.productionTip = false

new Vue({
  router,
  render: h => h(App),
}).$mount('#app')

这是我的router.js

代码语言:javascript
复制
import Vue from "vue"
import VueRouter from "vue-router"
import Home from "@/pages/Home.vue"
import About from "@/pages/About.vue"
import Contact from "@/pages/Contact.vue"

Vue.use(VueRouter)

export default new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home
    },
    {
      path: '/about',
      name: 'about',
      component: About
    },
    {
      path: '/contact',
      name: 'contact',
      component: Contact
    }
  
  ]
})

对不起,我在代码指示符的同一行上有导入vue行,它被切断了,我仍然有错误。

完全错误是:

代码语言:javascript
复制
router.js?41cb:7 Uncaught TypeError: Cannot read properties of undefined (reading 'use')
    at eval (router.js?41cb:7)
    at Module../src/router.js (app.js:1261)
    at __webpack_require__ (app.js:849)
    at fn (app.js:151)
    at eval (main.js:12)
    at Module../src/main.js (app.js:1141)
    at __webpack_require__ (app.js:849)
    at fn (app.js:151)
    at Object.1 (app.js:1274)
    at __webpack_require__ (app.js:849)
eval    @   router.js?41cb:7
./src/router.js @   app.js:1261
__webpack_require__ @   app.js:849
fn  @   app.js:151
eval    @   main.js:12
./src/main.js   @   app.js:1141
__webpack_require__ @   app.js:849
fn  @   app.js:151
1   @   app.js:1274
__webpack_require__ @   app.js:849
checkDeferredModules    @   app.js:46
(anonymous) @   app.js:925
(anonymous) @   app.js:928
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-07 22:47:22

Hiws的答复:

BootstrapVue不支持Vue 3,所以您必须使用Vue 2或使用其他组件库

谢谢。

票数 3
EN

Stack Overflow用户

发布于 2021-12-06 22:15:52

使用vue 3创建应用程序时,必须使用Vue.createApp方法,而不是创建新的vue实例。

代码语言:javascript
复制
new Vue({
  router,
}).$mount('#app')

变成:

代码语言:javascript
复制
const app = Vue.createApp({
      router,
})

app.mount('#app')

请记住,呈现api也发生了变化,而在2小时内注入函数args时,现在必须从vue导入它。例:

代码语言:javascript
复制
import { h } from 'vue'
export default {
  render() {
    return h('div')
  }
}

关于文档的更多信息:这里

更新。按照注释中的要求,我扩展了示例,包括如何在vue 3上使用插件。

回到这里的例子,如果我们想使用插件,我们需要在挂载之前添加.use方法。例:

代码语言:javascript
复制
const app = Vue.createApp({
      router,
})
app.use(ThePluginIWantToUse)

app.mount('#app')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70251897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档