85 lines
1.8 KiB
Markdown
85 lines
1.8 KiB
Markdown
# 개발환경
|
|
|
|
---
|
|
|
|
## 기술 스택
|
|
|
|
| 항목 | 버전 |
|
|
|---|---|
|
|
| Vite | ^8.0 |
|
|
| SCSS (sass) | ^1.101 |
|
|
| jQuery | ^4.0 |
|
|
| Prettier | ^3.8 |
|
|
|
|
---
|
|
|
|
## 명령어
|
|
|
|
```bash
|
|
npm run dev # 개발 서버 실행 (localhost:3000, 자동 브라우저 오픈)
|
|
npm run build # 프로덕션 빌드 → dist/
|
|
npm run preview # 빌드 결과물 미리보기
|
|
npm run format # SCSS, JS Prettier 포맷 (HTML 제외)
|
|
```
|
|
|
|
---
|
|
|
|
## 디렉터리 구조
|
|
|
|
```
|
|
src/ # Vite root
|
|
├── index.html
|
|
├── js/
|
|
│ └── main.js
|
|
├── scss/
|
|
│ ├── main.scss
|
|
│ ├── base/ # reset, variable, mixin, font
|
|
│ └── page/ # 페이지별 SCSS
|
|
├── font/
|
|
│ └── SUIT/
|
|
│ └── SUIT-Variable.woff2
|
|
└── assets/ # 이미지 등 정적 파일
|
|
|
|
dist/ # 빌드 결과물 (git 제외)
|
|
doc/ # 프로젝트 문서
|
|
```
|
|
|
|
---
|
|
|
|
## 빌드 설정
|
|
|
|
- **출력 경로**: `dist/`
|
|
- **포맷**: `iife` — `file://` 로 직접 열어도 동작하도록 모듈 속성 제거
|
|
- **이미지 압축**: `vite-plugin-imagemin`
|
|
- jpg: mozjpeg quality 80
|
|
- png: optipng level 5 / pngquant 0.7~0.9
|
|
- gif: gifsicle level 3
|
|
- svg: 빈 속성 제거, viewBox 유지
|
|
- **CSS sourcemap**: 개발 서버에서만 활성화 (`devSourcemap: true`)
|
|
|
|
---
|
|
|
|
## SCSS 설정
|
|
|
|
- `modern-compiler` API 사용 (`@use` 기반, `@import` 미사용)
|
|
- 7-1 패턴 구조
|
|
|
|
---
|
|
|
|
## Prettier 설정
|
|
|
|
- 대상: `src/**/*.scss`, `src/**/*.js` (HTML 제외)
|
|
- `printWidth: 1000` — 줄바꿈 최소화
|
|
- `tabWidth: 2`, `useTabs: false`
|
|
- `singleQuote: false`
|
|
|
|
---
|
|
|
|
## 웹폰트
|
|
|
|
외부 CDN 없이 셀프호스팅. `src/font/` 에 woff2 파일 포함.
|
|
|
|
| 폰트 | 용도 |
|
|
|---|---|
|
|
| SUIT Variable | 기본 본문 폰트 (weight 100~900) |
|