개발환경
키워드
- Node.js
- NPM(Node Package Manager)
- package.json / package-lock.json
- node_modules
- npx
- ES Modules vs CommonJSNode.js
Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임
LTS(Long Term Support) : 안정적인 버전
npm 프로젝트 생성
mkdir folderName
cd folderName
npm init -ynpm, npx
npm(Node Package Manager) : node.js를 위한 패키지 매니저, node.js를 위한 오픈 소스 생태계
npx(Node Package Execute) : 모듈을 로컬에 저장하지 않고, 매번 최신 버전의 파일만을 임시로 불러와 실행 시킨 후에, 다시 그 파일은 없어짐
package.json
개발자가 배포한 패키지에 대해, 다른 사람들이 관리하고 설치하기 쉽게 하기 위한 문서
상세내용 : https://outofbedlam.gitbooks.io/npm-handbook/content/config/package-json.html
package-lock.json
npm패키지 매니저에서 node_modules 디렉토리에 설치된 패키지들의 의존성 트리를 기록하는 파일
npm을 사용해서 node_modules 트리나 package.json을 수정시 자동으로 생성되며, 생성 시점의 의존성 트리에 대한 정보를 가지고 있음. 따라서, pacakge.json의 버전 범위에 따라 버전이 바뀌더라도, package-lock.json 파일이 작성된 시점의 의존성 트리가 다시 생성될 수 있게 보장됨.
node_modules
package.json에 있는 모듈과, 그 모듈들이 의존하고 있는 모든 모듈들을 포함하고 있음.
npm에 새로운 모듈이 추가될 때, 자동으로 package.json과 node_modules에 추가되게 됨.
node_modules를 git에 commit하지 않아도, pacakge.json에 설치한 패키지의 정보가 모여있기 때문에, npm i 명령어로 node_modules를 언제든지 추가함.
ES Modules(ESM)
ES6에 도입된 모듈 시스템
import, export를 사용해 분리된 자바스크립트 파일끼리 서로 접근할 수 있음.
CommonJs(CJS)
nodeJs에서 사용하는 표준 모듈 명세
require, module.exports를 사용
TypeScript 세팅
npx(node pack) : 모듈을 로컬에 저장하지 않고, 매번 최신 버전의 파일만을 임시로 불러와 실행 시킨 후에, 다시 그 파일은 없어지는 방식
주석되어있던 jsx 라인을 주석을 해제
TypeScript 컴파일을 통해 문법오류를 확인할수 있는 check 명령을 package.json에 추가
ESLint 세팅
ESLint는 코딩 컨벤션에 위배되는 코드나 안티 패턴을 자동 검출하는 도구
이전에는 Airbnb가 있었으나, 지금은 없어져서, xo로 셋팅
eslintignore 세팅
React 설치
리액트 설치 후, 리액트 기본 코드를 작성한다.
Jest(테스팅 도구) 설치
npm test를 통해 jest 실행
Parcel 설치
모듈 번들러 : 자바스크립트 파일들을 최적화, 압축하여 하나 혹은 여러개의 static 파일로 빌드해 주는 컴파일러
npm start를 이용하여 React Project 실행
GitIgnore 세팅
쉽게 gitignore 생성하는 방법
toptal gitignore 생성기 사용 https://www.toptal.com/developers/gitignore
github gitignore repository 사용 https://github.com/github/gitignore https://github.com/github/gitignore/blob/main/Node.gitignore
VsCode Setting
jest, trailing Extension 설치
Last updated