코딩애플 강의를 통해 배운 Vue를 정리한 글입니다.
2025년 2월 20일
Part 2 : blog 레이아웃과 라우터
npm install bootstrap@5
# main.js
import 'bootstrap'
import 'bootstrap/dist/css/bootstrap.min.css'
// 1) vue-router 설치
// 터미널에서 실행
npm install vue-router@4
// 2) router.js 코드 설정
import { createWebHistory, createRouter } from "vue-router";
const routes = [
{
path: "/경로",
component: import해온 컴포넌트,
}
];
const router = createRouter({
history: createWebHistory(),
routes,
});
export default router;
// 3) main.js에서 router 추가
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
createApp(App).use(router).mount("#app");
// 4) 컴포넌트에서 사용
// <router-link to="/경로">링크</router-link>
// <router-view /> 사용 가능 (props 전송 가능)
//id에는 정규식을 사용할 수 있다
*이라는것도 있음 이건 여러개 반복
"/list/:id";
$route.params는 파라미터 자리에 기입된것을 다 볼 수 있다/:anything(.*) 기본형식{
path: "/detail/:id",
component: Detail,
children: [
{
path: "author",
component: Author,
},
{
path: "comment",
component: Comment,
}
]
}
처음 경로를 다르게 하고싶다면 (App.vue가아닌 다른 페이지를 호출)
vue.config에서 publicPath 공간에 /님이만든 repository이름을 적어주면됩니다
이거 그 외 또 설정하는거 있는데 그거는 내일 보자고!!
그외 설정은 history: createWebHistory(process.env.BASE_URL), 이렇게 적어줘야한다
그리고 만약 그냥 APP.vue로 배포를 한다면
const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({
transpileDependencies: true,
publicPath: process.env.NODE_ENV === "production" ? "./" : "/",
});
이렇게 경로를 바꿔줘야한다