반응형
비주얼이 주가 되는 프로젝트를 맡게 되었다. 별도의 프론트엔드 담당자 없이 혼자서 일단은 진행해 볼 예정이라 스벨트를 써보기로 마음 먹었다. 3년 전부터 알고는 있었지만 실제 프로젝트에 써본 적은 없었기 때문에 기대가 됐다.
스벨트(Svelte)란?
Svelte는 2016년 출시한 오픈 소스 프론트엔드 웹 프레임워크이다. 기존의 React나 Vue.js 등의 널리 알려진 웹 프레임워크와 달리, 가상 DOM을 사용하지 않으며 빌드 단계에서 구성 요소를 컴파일하여 성능이 향상되었다.
스벨트의 장점
스벨트의 장점은 굉장히 쉽다는 것에 있다. 특히 정적 페이지를 개발하는 마크업 개발자들에게는 매우 매력적이다.
<script>
let name = 'zinee'
</script>
<h1>{name}</h1>
<style>
h1 {
font-size: 20px;
}
</style>
스벨트 시작하기
npm create svelte@latest
현재 폴더에 스벨트 프로젝트 생성하기
Skeleton project 로 최소한의 기본 파일만 생기도록 했다
npm install
npm run dev
스벨트에서 Scss 사용하기
npm install -D svelte-preprocess
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
<meta name="viewport" content="width=device-width" />
%sveltekit.head%
<style lang="scss">
@import '../src/lib/scss/style.scss';
</style>
</head>
<body data-sveltekit-preload-data="hover">
<div>%sveltekit.body%</div>
</body>
</html>
파일 구조
routes 폴더안에 폴더를 만들면 그 폴더명이 곧 라우팅명이 된다.
페이지는 +page.svelte 로 만들면 된다.
컴포넌트 파일에는 +를 붙이지 않아도 된다.
예제코드
codesandbox svelte kit 으로 만들면 npm 설치가 안되네...?
https://codesandbox.io/p/sandbox/svelte-demo-jqtv6w
반응형