- 프로젝트 생성 및 번들링: Vite
- 코드 품질 관리:
- Prettier
- ESLint
- VS Code 확장 프로그램:
- ESLint
- Prettier (주의: 'Prettier ESLint' 확장이 아닌 'Prettier' 확장을 설치해주세요)
- 패키지 매니저: npm
- 형상관리: GitHub
- 주요 의존성 패키지:
- axios
- normalize.css
- react (18.3.1)
- react-dom (18.3.1)
- Node.js 버전: TBD
- npm 버전: TBD
- 프로젝트 클론 및 의존성 설치:
git clone [repository-url] cd [project-directory] npm install
- 개발 서버 실행:
npm run dev
- 빌드:
npm run build
- 추가:
npm run lint
린트 오류 찾기npm run format
프리티어 규칙에 맞춰 포매팅
toy-project/
├─ .gitignore
├─ .prettierrc
├─ eslint.config.js
├─ index.html
├─ package-lock.json
├─ package.json
├─ public/
│ └─ .gitkeep
├─ README.md
├─ .env
├─ src/
│ ├─ apis/
│ │ └─ apis.js
│ ├─ App.css
│ ├─ App.jsx
│ ├─ assets/
│ │ └─ .gitkeep
│ ├─ components/
│ │ └─ Header/
│ │ ├─ Header.css
│ │ └─ Header.jsx
│ ├─ main.jsx
│ └─ utils/
│ └─ currentDay.js
└─ vite.config.js
public/
: 정적 자산 (예: 파비콘)을 위한 폴더src/apis/
: API 호출 관련 함수 정의src/assets/
: 컴포넌트에서 사용할 이미지 등의 자산src/components/
: 재사용 가능한 React 컴포넌트src/utils/
: 유틸리티 함수.env
VITE_API_KEY = 'API_KEY'
위와 같이 설정하시면 됩니다. VITE의 경우 항상 환경변수 앞에 VITE을 붙혀 저장
// api.js
const API_KEY = import.meta.env.VITE_API_KEY
환경 변수를 불러올 때는 import.meta.env[변수명]
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
'@components': path.resolve(__dirname, './src/components'),
'@utils': path.resolve(__dirname, './src/utils'),
},
extensions: ['.js', '.jsx'],
},
})
alias
: 경로 별칭 설정 (예:@utils/example.jsx
로 임포트 가능)extensions
:.js
및.jsx
확장자 자동 해석- 최종
@utils/example
로 임포트 가능
export default [
{ ignores: ['dist', 'vite.config.js', 'node_modules'] },
js.configs.recommended,
{
files: ['**/*.{js,jsx}'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: {
...globals.browser,
},
parserOptions: {
ecmaFeatures: { jsx: true },
},
},
settings: { react: { version: '18.3' } },
plugins: {
react,
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
prettier,
},
rules: {
...react.configs.recommended.rules,
...react.configs['jsx-runtime'].rules,
...reactHooks.configs.recommended.rules,
'react/jsx-no-target-blank': 'off',
'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],
'prettier/prettier': 'error',
},
},
eslintConfigPrettier,
]
- prettier의 룰을 따르는 중
{
"arrowParens": "avoid",
"semi": false,
"tabWidth": 2,
"printWidth": 120,
"singleQuote": true,
"trailingComma": "all",
"singleAttributePerLine": true,
"jsxBracketSameLine": false,
"jsxSingleQuote": true,
"endOfLine": "auto"
}
- TBD
- 컴포넌트 생성:
src/components/
폴더 내에 새 폴더를 만들고 그 안에 컴포넌트 파일을 작성해주세요. - 스타일링: 컴포넌트별 CSS 파일을 사용
- 커밋 메시지 규칙: TBD
- 코드 리뷰 프로세스: 매 주 WTL, RBF시간 활용하여 코드 리뷰 진행 후 풀 리퀘스트 처리 예정
- API 문서: API.md 참고
- 디자인 가이드: TBD
- 배포 프로세스: TBD