카테고리 없음
Svelte 라우팅 설정
DevilFront
2023. 5. 31. 15:56
반응형
가장 유명한 2가지 라이르러리중 하나를 골라 사용하면 된다.
1. svelte-spa-router
2. svelte-routing
작성일 기준 라이브러리 버전 관리가 1번은 10달전이 최근이고 2번은 10일 전이 최근이기 때문에 2번으로 선택해서 진행했다.
공식문서만 봐도 잘 이해가 잘 되게 해놨지만 방법을 정리해보면
npm i -D svelte-routing
설치해준 뒤
<script>
import { Router, Link, Route } from "svelte-routing";
import MyPage from "./pages/mypage/MyPage.svelte";
import CPAAdManage from "./pages/cpa/CPAAdManage.svelte";
export let url = "";
</script>
<main>
<Router {url}>
<Route path="/" component={MyPage} />
<Route path="/CPA" component={CPAAdManage} />
</Router>
</main>
App.svelte 다.
React에서 Router 사용하듯이 경로와 컴포넌트 설정 해주면 된다.
지금 공식문서에 가보면
이런식으로 정의 되어 있는데
<Link> 컴포넌트를 사용하면서 스타일이 안 먹어서 class 명을 붙여주고 다시 스타일을 정의해줘도 먹지 않았다.
<script>
import {Link, link} from "svelte-routing";
</script>
<div class="header-menu">
<div class="hamburger-icon" on:click={toggleSidebar}>
<i class="fa-solid fa-bars hamburger-icon"></i>
</div>
<div class="flex-box">
<Link to="/" class="white-text">마이페이지</Link> // 얘 작동안됨
<a href="/" class="white-text" use:link >마이페이지</a> // 얘 잘 됨
<div class="small-box bordered">LOGOUT</div>
</div>
</div>
<style>
.white-text{
color: white;
text-decoration: none;
}
</style>
확실히 svelte 생태계가 아직 활성화 되지 않았다고 느낀게 이런류에 대한 레퍼런스가 별로 없었다.
use:link는 스벨트에서 라우팅 기능을 활용하기 위한 지시자 라고 하는데 그렇다고만 인지하고 넘어가도 상관없을것 같다.
반응형