Svelte에서 구성 요소를 만드는 방법
7434 단어 tutorialsveltejavascriptwebdev
구성 요소는 무엇이며 왜 필요한가요?
구성 요소는 모든 최신 프런트엔드 프레임워크의 공통 주제입니다. 본질적으로 점점 더 복잡한 애플리케이션을 구축하기 시작하면서 우리는 항상 동일한 유형의 것을 재사용하고 있음을 발견했습니다. 예를 들어, 등록 양식은 여러 다른 위치에 나타날 수 있으며 정확히 동일한 코드를 사용할 수 있습니다.
구성 요소는 궁극적으로 해당 문제를 해결하려고 합니다. 우리는 이러한 재사용 가능한 코드 조각을 생성하고 표시하려는 위치에 포함합니다. 그렇게 하면 코드를 한 번만 작성하고 원하는 곳에 배치할 수 있습니다. 구성 요소는 Svelte에서 사용자 지정 HTML 태그처럼 작동하며 표시하려는 모든 위치에 추가할 수 있습니다.
Svelte에서 컴포넌트를 만드는 방법
시작하기 전에 set up a new Svelte project using SvelteKit을 확인하십시오. SvelteKit에는 모든 Svelte 애플리케이션 페이지가 포함된 route라는 폴더가 이미 있습니다. 작업을 시작하려면 구성 요소라는 src에 새 폴더를 만드십시오. 모든 구성 요소를 여기에 저장합니다.
새 파일을 만들고 이름을 지정합니다
MyFirstComponent.svelte
. 이것은 첫 번째 Svelte 구성 요소 역할을 합니다. 지난 튜토리얼을 따라했다면 이제 폴더 구조가 다음과 같이 보일 것입니다.static <-- where we store all of our public assets like favicons, images, and fonts
|- favicon.png <-- our favicon
tests <-- a folder to store our tests
|- test.js <-- an example test using @playwright
src <-- our main Svelte app files
|- routes <-- a folder to store all of our routes in
|- components <-- a folder for all of our components
|-- MyFirstComponent.vue <-- our first component
|-- index.svelte <-- our index route file. This will be the file displayed at the route of the site
|- app.d.ts <-- our core Svelte app file
|- app.html <-- our main index file where the app will appear
.gitignore <-- files we wish to ignore for git
.npmrc <-- config file for npm
.prettierrc <-- config file for prettier
.eslintrc.cjs <-- config file for eslint
package.json <-- our NPM installed packages
playwright.config.js <-- config file for playwright
svelte.config.js <-- config file for svelte itself
tsconfig.json <-- config file for typescript
좋습니다. 이제 파일이 생겼으니 첫 번째 구성 요소를 만드는 작업을 시작하겠습니다.
Svelte 구성 요소 만들기
이 가이드에서는 미리 설정된 기본값을 가질 수 있는 간단한 카운터 구성 요소를 만들 것입니다. Svelte의 좋은 점은 파일이 일반 CSS, HTML 및 Javascript 코드와 똑같이 보이고 느껴진다는 것입니다.
따라서 간단한 카운터를 만들기 위해 다음과 같이 시작합니다.
<script>
// we write export let to say that this is a property
// that means we can change it later!
export let x = 0;
const addToCounter = function() {
++x;
}
</script>
<button id="counter" on:click="{addToCounter}">{x}</button>
<style>
button {
background: #ffb334;
border-radius: 8px;
border: none;
font-weight: bold;
cursor: pointer;
padding: 0.5rem 2rem;
color: white;
font-size: 1.5rem;
}
</style>
Svelte는 다른 프레임워크와 매우 유사하게 작동하지만 제 생각에는 구성 요소 코드가 크게 단순화되었습니다.
클릭 이벤트
위에서 우리는 단순히 하나의 이벤트인 클릭을 추가했으며
on:event={functionName}
구문을 사용하여 모든 DOM 요소에 이벤트를 추가할 수 있습니다. 위에서 on:click={addToCounter}
를 추가하여 누군가가 버튼을 클릭할 때마다 실행addToCounter()
할 것임을 나타냅니다.속성
이동 HTML에는 속성 또는 소품이 있습니다. 예를 들어
<a>
태그의 href 속성을 설정하여 링크를 설정할 수 있습니다. Svelte에서 사용자 지정 소품을 생성하려면 export 키워드를 사용하여 구성 요소의 Javascript에 추가합니다.export let x = 0;
즉, 사용할 때 소품으로 사용할 수 있습니다. Svelte 프로젝트에서 이를 구현하는 방법을 살펴보겠습니다.
Svelte에서 구성 요소 사용
이제 기본 구성 요소를 만들었으므로 원하는 위치에 추가할 수 있습니다. route/index.svelte에 추가해 봅시다. 다음과 같이 새 구성 요소를 가져와 사용할 수 있습니다.
<script>
import MyFirstComponent from "../components/MyFirstComponent.svelte";
</script>
<MyFirstComponent />
SvelteKit을 사용하여 Svelte에서 카운터 구성 요소 만들기
이제 우리는 애플리케이션 어디에나 추가할 수 있는 간단한 카운터를 갖게 되었습니다. 더 좋은 점은 addToCounter 번호를 구성 요소의 소품으로 정의했기 때문에 기본값을 변경할 수 있다는 것입니다.
<MyFirstComponent x={5} />
이제 구성 요소는 0이 아닌 첫 번째 값으로 5를 표시합니다!
그것을 테스트
원본 자습서를 기반으로 Svelte 애플리케이션을 만든 경우 이제 터미널에서 다음 명령을 실행하여 구성 요소를 테스트할 수 있습니다.
npm run dev
이제 http://localhost:3000 에서 사용할 수 있는 코드의 dev 인스턴스를 갖게 됩니다.
결론
Svelte 애플리케이션 및 새 구성 요소를 만드는 것은 쉽고 Svelte는 HTML, CSS 및 Javascript만 사용하는 것이 아니라는 사실조차 깨닫지 못할 정도로 가벼운 언어입니다. Svelte 구성 요소에 대한 간략한 소개가 마음에 드셨기를 바랍니다. 더 많은 정보를 기대해 주세요Svelte content .
Reference
이 문제에 관하여(Svelte에서 구성 요소를 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/smpnjn/how-to-create-components-in-svelte-3438텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)