마른 땅으로 돌아갑니다. 섬이 필요 없이 낮부터 밤까지 블로그를 운영하세요!
이제 대화형 요소를 위한 Astro 섬을 구축할 수 있으므로 바닐라 JavaScript와 CSS만으로 꽤 많은 작업을 수행할 수 있다는 사실을 잊지 마세요!
브라우저에 프레임워크 JavaScript를 전송하지 않고 상호작용을 위해 또 다른 <script>
태그를 사용하여 사용자가 밝은 테마와 어두운 테마 사이를 전환할 수 있도록 클릭 가능한 아이콘을 만들어 보겠습니다.
요구 사항
- JavaScript 및 CSS만으로 대화형 테마 토글 구축
- 가능한 한 브라우저에 JavaScript를 적게 보내기!
테마 토글 아이콘 추가 및 스타일 지정
섹션 제목: 테마 토글 아이콘 추가 및 스타일 지정-
src/components/ThemeIcon.astro
에 새 파일을 만들고 다음 코드를 붙여넣습니다. -
모든 페이지에 표시되도록
Header.astro
에 아이콘을 추가합니다. 컴포넌트를 가져오는 것을 잊지 마세요. -
http://localhost:4321
에서 브라우저 미리보기를 방문하여 이제 모든 페이지에서 아이콘을 확인하세요. 클릭해 볼 수는 있지만 아직 대화형으로 만드는 스크립트를 작성하지 않았습니다.
어두운 테마에 CSS 스타일 추가
섹션 제목: 어두운 테마에 CSS 스타일 추가어두운 테마에서 사용할 대체 색상을 선택하세요.
-
global.css
에서 몇 가지 어두운 스타일을 정의합니다. 직접 선택하거나 복사하여 붙여넣을 수 있습니다.
클라이언트 측 상호작용 추가
섹션 제목: 클라이언트 측 상호작용 추가Astro 컴포넌트에 상호작용을 추가하려면 <script>
태그를 사용할 수 있습니다. 이 스크립트는 localStorage
에서 현재 테마를 확인 및 설정하고 아이콘을 클릭할 때 테마를 전환할 수 있습니다.
-
src/components/ThemeIcon.astro
의<style>
태그 뒤에 다음<script>
태그를 추가합니다. -
http://localhost:4321
에서 브라우저 미리보기를 확인하고 테마 아이콘을 클릭하세요. 밝은 테마와 어두운 테마 간에 변경할 수 있는지 확인하세요.
지식 테스트
섹션 제목: 지식 테스트다음 각 문장이 Astro <script>
태그, UI 프레임워크 컴포넌트 또는 둘 다를 설명하는지 선택하세요.
-
웹사이트에 대화형 UI 요소를 포함할 수 있습니다.
-
JavaScript를 클라이언트에 보내고 브라우저에서 실행하기 위해
client:
를 포함하지 않는 한 사이트에 정적 요소가 생성됩니다. -
이를 통해 해당 기술 스택을 사용하여 완전히 새로운 프로젝트를 시작할 필요 없이 새로운 프레임워크를 “시험해 볼” 수 있습니다.
-
이를 통해 다른 프레임워크에서 작성한 코드를 재사용할 수 있으며 종종 사이트에 바로 넣을 수 있습니다.
-
이를 통해 다른 JavaScript 프레임워크를 알거나 배울 필요 없이 대화형 기능을 추가할 수 있습니다.