programing

Vue js;Vue 라우터가 단순 경로에서 생성자 오류가 아닙니다.

prostudy 2022. 7. 23. 09:15
반응형

Vue js;Vue 라우터가 단순 경로에서 생성자 오류가 아닙니다.

공식 루트 라이브러리를 사용하여 간단한 루팅을 구현하려고 합니다.

여기 제 앱이 있습니다.js

 window.Vue = require('vue');
    window.VueRouter= require('vue-router');

    Vue.use(VueRouter);

const vt=Vue.component('example', require('./components/Example.vue'));

const router = new VueRouter({
      routes:[
        {
          path:'/test',
          component:vt
        }
    ]
})

const app = new Vue({
    el: '#app',
    router:router
});

그런데 오류가 났다.

app.js:1126 Uncapted Type Error:VueRouter가 생성자가 아닙니다.

이 대답은 문제에 대한 좀 더 많은 통찰력을 원하는 구경꾼들을 위한 것입니다.

여기에는 두 가지 해결책이 있습니다.

해결책 1: ES 모듈 Import

Laravel 기본 설정에서는 [적어도]vue-router는 es 모듈로 Import될 것으로 예상됩니다.따라서 파일 맨 위에서 수행해야 합니다.

import VueRouter from 'vue-router'

해결책 2: CommonJs에 필요한 것

부터vue-router라우터는 es 모듈이기 때문에 명시적으로 액세스 할 필요가 있습니다.default모듈의 CommonJS 버전 속성.

const VueRouter = require('vue-router').default;

어느 하나의 솔루션

Vue 라우터를 Vue에 등록해야 합니다.

Vue.use(VueRouter)

코멘트를 바탕으로 최종적으로 이 Import로 해결했습니다.

import VueRouter from 'vue-router';
Vue.use(VueRouter);

언급URL : https://stackoverflow.com/questions/42549580/vue-jsvue-router-is-not-constructor-error-in-simple-route

반응형