공통 SCSS 파일 구조
프로젝트 루트의 공통 SCSS 구조입니다.
이 구조는 프레임워크와 무관하게 동일하게 사용할 수 있습니다.
요약 설명SCSS는 프레임워크에 종속되지 않는 독립적인 스타일 시스템입니다.
Vue나 React 같은 프레임워크를 사용하더라도, 지금까지 배운 SCSS 구조를 그대로 활용할 수 있습니다.
컴포넌트 구조와 스타일 구조를 1:1로 맞추면, 유지보수성과 일관성을 크게 향상시킬 수 있습니다.이 페이지에서는 Framework 공통 SCSS, 컴포넌트 단위 SCSS 연결 방식, Vue/React 컴포넌트 예시를 상세히 알아봅니다.
SCSS는 CSS 전처리기이므로, 어떤 프레임워크를 사용하든 상관없이 동작합니다.
Vue의 Single File Component나 React의 CSS Module에서도 SCSS를 그대로 사용할 수 있습니다.
중요한 것은 프레임워크가 아니라 스타일 구조를 올바르게 설계하는 것입니다.
<style lang="scss">에서 사용
프레임워크를 사용하더라도, tokens, base, layout, themes는 공통으로 관리합니다.
이 부분은 모든 컴포넌트에서 공유하므로, 프로젝트 루트에 두고 전역으로 import합니다.
프로젝트 루트의 공통 SCSS 구조입니다.
이 구조는 프레임워크와 무관하게 동일하게 사용할 수 있습니다.
프레임워크의 진입점(main.js, index.js 등)에서 공통 SCSS를 import합니다.
각 컴포넌트의 스타일은 컴포넌트 파일과 함께 두거나, 별도 SCSS 파일로 분리할 수 있습니다.
컴포넌트 구조와 스타일 구조를 1:1로 맞추면 파일을 찾고 관리하기가 쉬워집니다.
Vue에서는 컴포넌트 파일 내부에 SCSS를 작성할 수 있습니다.
scoped 속성을 사용하면 해당 컴포넌트에만 스타일이 적용됩니다.
컴포넌트별로 SCSS 파일을 분리하는 방법입니다.
React에서 CSS Module을 사용하는 방법입니다.
CSS Module을 사용하면 클래스명이 자동으로 고유하게 변환되어 스타일 충돌을 방지할 수 있습니다.
일반 SCSS 파일을 import하여 사용하는 방법입니다.
일반 SCSS 파일은 전역으로 적용되므로, BEM 네이밍 컨벤션을 따르는 것이 중요합니다.
프레임워크 프로젝트에서 SCSS 파일을 구성하는 방법입니다.
컴포넌트 구조와 스타일 구조를 1:1로 맞추면 찾고 관리하기가 쉬워집니다.
Vue 프로젝트의 일반적인 SCSS 구조입니다.
React 프로젝트의 일반적인 SCSS 구조입니다.
공통 토큰을 컴포넌트에서 사용하는 방법입니다.
절대 경로나 별칭(alias)을 사용하면 import 경로를 간단하게 유지할 수 있습니다.
상대 경로로 토큰을 import하는 방법입니다.
상대 경로는 간단하지만, 폴더 구조가 변경되면 경로를 수정해야 합니다.
별칭을 설정하여 더 간단하게 import하는 방법입니다.
별칭을 사용하면 폴더 구조가 변경되어도 import 경로를 유지할 수 있습니다.
프레임워크에서 SCSS 사용에 대해 알아본 내용을 정리합니다.
다음 페이지에서는 실제 페이지 구성(종합 쇼케이스)을 알아봅니다.