- v4 부터
.yarnrc.yml파일 내부의yarnPath를 참조하는 것이 아닌corepack사용
패키지 매니저 버전을 관리하는데 도움을 주는 도구로 node 와 패키지 매니저 사이의 브릿지 역할 package.json 내부
packageManager필드를 참조
- yarn berry pnp, zero-install 기능 사용
- create-vite
react-swc-ts템플릿 기반 제작 - eslint , prettier 적용
- zipfs vscode extension 추가 / yarn dlx @yarnpkg/sdks vscode 실행 (하단 9번 참고)
-
yarn 설치
=>npm install -g yarn -
corepack 활성화
=>corepack enable -
create-vite 커맨드로 react-swc-ts 템플릿 기반 프로젝트 생성
=>yarn create vite . --template react-swc-ts -
pnp 옵션 및 zero-install 사용을 위한 yarn-berry 설정파일 추가
=>vi ./yarnrc.yml
enableGlobalCache: false
nodeLinker: pnp
-
yarn-berry 사용 (버전 2+ 확인)
=>yarn set version berry -
의존성 설치
=>yarn OR yarn install -
pnp, zero-install 정상 적용 확인
.pnp.cjs / .pnp.loader.mjs 파일 생성 확인 (pnp)
.yarn/cache 아래 의존성 .zip 으로 설치 확인 (zero-install) -
vite dev 서버 동작 시 node_modules/.vite 캐시 생성 방지를 위해 추가 설정
vite.config.ts 파일
cacheDir: './.vite' // 설정 추가
.gitignore 파일
# vite cache
.vite // ignore 추가
- vscode IDE ts 설정 추가
=>zipfsvscode extension 추가
=>yarn dlx @yarnpkg/sdks vscode실행
.vscode/extentions.json
{
"recommendations": [
"arcanis.vscode-zipfs",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
]
}
.vscode/settings.json
{
"search.exclude": {
"**/.yarn": true,
"**/.pnp.*": true
},
"eslint.nodePath": ".yarn/sdks",
"prettier.prettierPath": ".yarn/sdks/prettier/index.js",
"typescript.tsdk": ".yarn/sdks/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"editor.tabSize": 2,
"prettier.printWidth": 120
}