• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

Vue3으로 강의를 듣고 있는데 마지막 router에서 막혔습니다

23.09.15 14:19 작성 조회수 423

0

main.js

import { createApp } from 'vue';  
import Router from './Router';
import routes from './routes';


createApp(Router)
    .use(routes) 
    .mount('#root');

 

Router.vue

<template>
    <div>
        <div>
            <router-link to="/number-baseball">숫자야구</router-link>
            <router-link to="/response-check">반응속도</router-link>
            <router-link to="/rock-scissors-paper">가위바위보</router-link>
            <router-link to="/lotto-generator">로또생성기</router-link>
        </div>
        <router-view /> <!-- 바뀌는 부분 -->
    </div>
</template>

<script>
import router from './routes';

export default router;
</script>

 

routes.js

import { createRouter, createWebHistory } from 'vue-router';
import NumberBaseball from '../3.숫자야구/NumberBaseball';
import ResponseCheck from '../4.반응속도체크/ResponseCheck';
import RockScissorsPaper from '../5.가위바위보/RockScissorsPaper';
import LottoGenerator from '../6.로또/LottoGenerator'; 

const routes = [
    { path: '/number-baseball', component: NumberBaseball }, 
    { path: '/response-check', component: ResponseCheck },
    { path: '/rock-scissors-paper', component: RockScissorsPaper },
    { path: '/lotto-generator', component: LottoGenerator },
];

const router = createRouter({  
    history: createWebHistory(),
    routes, //
});

export default {
   
}

 

 

라우터왜안되니.PNG위와 같이 뷰 라우터 링크가 반응하지 않습니다

Vue는 3.3.4 버전, Vue-router는 4.2.4 버전을 사용하고 있습니다

라우터왜안되니2.PNG왜.. 안될까요? 공식문서를 보면서 수정해봐도 해결이 안됩니다.

 

 

 

답변 1

답변을 작성해보세요.

1

routes.js에서 export default에 아무것도 안 넣으셨는데요?

아 이것저것 해보다가 지운 코드를 복사했었네요

export default 안에 router를 넣어봤지만 결과는 같았습니다. 터미널이랑 콘솔도 변화가 없었습니다

 

가 아니라 어라 갑자기 됐어요!!!!!!!!!!!!!!

됐습니다!!!!!!!!!!!!

아래의 두 코드에 차이가 있나요?

-- 안됨
export default {
   router,
}

-- 됨
export default router;

네 엄청난 차이죠. main.js에서 routes.js 임포트하잖아요.

그 때 { router }가 오는 것과 router가 오는 건 천지 차이죠.

 자바스크립트에서 1이랑 { router: 1 }이랑은 전혀 같지 않으니까요.