Svelte 입문 강의 - A부터 Z까지 1

1️⃣

🖥 svelte 소개

0 - 2. Svelte 특징

런타임이란 ? 어플리케이션이 동작하는 동안 가상돔을 비교해서 변경된 내용을 알기위해 사용

0 - 3. Svelte 사용시 유의사항

IE 11 이하의 구형 브라우저에서는 별도의 설정 작업 필요

router : svelte 에서 공식적으로 제공하는 router 가 없다. svelte-spa-router 많이 이용하는 라이브러리 store : svelte 안에 store 기능 포함 cli : cli 존재 X, 다만 github에 rollup, webpack 번들러 2가지 버전의 보일러 플레이트가 올라와 있어, 클론으로 프로젝트 생성 가능

0 - 4. Quick Start Guide

$ npm i
$ npm run dev
$ npx degit sveltejs/template 프로젝트이름
$ cd 생성프로젝트
$ npm i
$ npm run dev
2. Webpack 프로젝트  
$ npx degit sveltejs/template-webpack 프로젝트이름
$ cd 생성프로젝트
$ npm i
$ npm run dev

Rollup 의 경우 localhost 5000 이지만, Webpack의 경우는 localhost 8080

🖥 기초 문법

1 - 1. 데이터 정의

<script>
let  name  =  "JJ"
</script>

<div>Hello, {name}! </div>

<style></style>

vscode에서 svelte 문법 적용을 위해 setting.json 에 아래와 같이 추가 해 주었다

"files.associations": {
	"*.svelte": "html"
}, 

1 - 2. 속성 정의

1 - 3. 스타일 정의

<div class="active">My name is Jina </div>

<style>
	.active {
		color: red;
	}
:global(.active) {
	color: blue;
	}
</style>

1-4. 컴포넌트 정의

<script>
import Child from  './Child.svelte'
</script>

<Child></Child>
<div>This is parent</div>

1-5. HTML 문자열 표현

<script>
	let  string  =  'My name is <strong>JJ</strong>.'
</script>

<div>{ @html string }</div>
<!-- html 요소로 변환  -->

🖥 반응형을 위한 문법

2 - 1. 이벤트 리스너

<script>
	let count = 0;

	function handleClick() {
		count ++;
	}
	function handleMouseDown(){
		console.log('down!');
		
	}
</script>

<button 
	on:click={handleClick}
	on:mousedown={handleMouseDown}
	>
	Clicked {count}
</button>

2 - 2. $ 문법

2 - 3. 주의해야할 것들