Node Version Manager의 줄임말이다.
로컬마다 설치되어있는 Node의 버전이 다를텐데, 그에 따른 dependency 관리가 되지 않을 것이다.
내 컴퓨터는 돌아가는데 너껀 왜 안돼???? 금지
npm --version
node --version
node -v
위 코드로 버전 확인이 가능하다.

Mac 사용중이므로, homebrew를 통해 쉽게 해결
다음 설정을 한다
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
mac: 위 내용을 ~/.zshrc 내 입력 및 저장한 뒤 → source ~/.zshrc
경로 내 .nvmrc 파일을 확인하고 자동으로 node 버전을 install, use해준다.
# place this after nvm initialization!
autoload -U add-zsh-hook
load-nvmrc() {
local nvmrc_path
nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version
nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
nvm use
fi
elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
mac 기준이며, 위 스크립트를 ~/.zshrc에 입력해둔다.
.nvmrc 파일 : nvm install / nvm use 명령어 호출 시 본 .nvmrc 파일 내 명시된 node 버전 선택.npmrc 파일 : engine-strict = true 옵션 명시 시 어긋난 node / npm 버전 사용 시 에러 발생package.json 내 "engine" 옵션 : 프로젝트 설치 및 구동을 위해 필요한 node / npm 버전 명시CRA 아니에요??
과도한 라이브러리 생태계의 Dependency를 책임지지 않고, Depreceated 되었다.
Vercel에서는 CNA(Create-Next-App)을 추천하지만, 현재는 React만 다룰 것이기 때문에, Vite를 통해 React.js를 생성한다.
Vite : 빠른 개발 서버와 번들링을 제공하는 Build Tool
(React 프로젝트 초기화 시 자동 설치됨)
vite.config.* 사용 vite.config.js: CommonJS 형식 사용 시 vite.config.cjs: ESM 사용 시 (package.json 내 "type": "module" 명시 시) vite.config.ts: TypeScript 형식 사용 시 plugins: React 플러그인 등 추가 server: 개발 서버 설정 (e.g., 포트, 프록시) build: 운영 환경 번들링 설정 (e.g., 출력 경로, 코드 분리) resolve: 모듈 경로 별칭 설정 index.html root 요소와 스크립트 태그 (main.js / .jsx) 포함 src 폴더 main.js 또는 main.jsx를 통해 React 컴포넌트를 렌더링 node_modules 폴더 @vitejs/plugin-react 설치 필요 Vite와 관련된 익스텐션 설치 추천 build 옵션 세부 조정 고려 npm create vite@latest react-tutorial -- --template react
하면 아래와 같이 프로젝트가 생성된다.

Vite-React 프로젝트 시작 시 파일 설명 (역순)
root: React 렌더링 기준 HTML (크롬으로 보기) main.js / .jsx: React 렌더링하는 JS Formatter & Linter & IntelliSense 설정 파일들

VS Code에 설치하자
ESLint : 문법 오류를 지적해주는 Linter 적용
(Vite로 React 프로젝트 시작 시 ESLint는 자동으로 설치됨)
.eslintrc.cjs 사용 .eslintrc.*.eslintrc.json: 정말 라떼 시절 설정 파일 .eslintrc.js: 그나마 최신 .eslintrc.cjs: ESM 사용 시 (package.json 내 "type": "module" 명시 시) .eslintignore 파일에 명시 ignorePatterns 추가 // eslint-disable-next-line /* eslint-disable */ eslint.config.*eslint.config.js, eslint.config.cjs) ignores 설정 추가 Prettier : 코드 스타일을 자동으로 정리해주는 Formatter
(Vite 프로젝트에 자동 설치는 되지 않으니, 필요 시 별도 설치 필요)
npm install -D -E prettier
npm install -D eslint-config-prettier//이제 안씀

VS Code에도 설치하자
eslint-config-prettier 설치하여 Prettier 설정이 우선하도록 설정 .prettierrc.* 사용 .prettierrc .prettierrc.json .prettierrc.js .prettierrc.cjs: ESM 사용 시 (package.json 내 "type": "module" 명시 시) .prettierrc.yml 또는 .prettierrc.yaml: YAML 형식 사용 시 .prettier.config.js 또는 .prettier.config.cjs로도 설정 가능 .prettierignore 파일에 명시 // prettier-ignore 출처: ASAC 07기 강의자료