nodejs
패키지 관리도구
- npm, yarn : nodejs
- apt, rpm : linux
- mvn, gradle : java
npm(Node Package Manager)
- npm에 등록되어 있는 패키지를 찾아서 설치하고 사용가능
- 패키지 : npm에 업로드된 노드 모듈(js파일)
- package.json : maven의 pom.xml과 유사하며 설치한 패키지의 버전을 관리하는 파일로서 노드 프로젝트에서는 필수
$npm init <- package.json을 생성하는 명령어
- 패키지 검색
- Maven Repository와 같음
- 패키지 설치 옵션
명령어 | 설명 |
---|---|
npm install | ./node_modules폴더에 패키지를 다운받아 설치 |
npm install [모듈명] | 현재 작업중인 디렉토리 내에 있는 ./node_modules에 [package]를 설치 |
npm install -g [모듈명] | 글로벌 패키지로 설치 |
npm install [package] –save | [package]를 설치 하면서 package.json파일에 있는 dependencies 객체에 설치한 패키지 정보를 추가 |
npm install [package] –save –dev | [package]를 설치 하면서 package.json파일에 있는 devdependencies 객체에 설치한 패키지 정보를 추가 |
npm list | 현재 폴더에 설치된 패키지 리스트 |
npm list -g | 글로벌 패키지 리스트 |
npm list -g –depth=0 | 의존관계의 패키지는 보여주지 않고 최상단 패키지만 보여줌 |
npm fund | 설치된 패키지 조회 |
##error 에러: 의존성 충돌
Could not resolve dependency:
peer vue@"^2.5.0" from @toast-ui/vue-grid@4.21.4
node_modules/@toast-ui/vue-grid
@toast-ui/vue-grid@"*" from the root project
]+
Fix the upstream dependency conflict, or retry
this command with --force, or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.
해결책 –force 는 필요한 경우 패키지 의존성을 위해 추가적인 패키지를 설치한다. –legacy-peer-deps 는 그냥 무시하고 설치 안되면 캐시 삭제하고 옵션 사용
npm cache clear --force
설치
- vscode에 Vetur 확장팩 설치
- Node.js 다운받아서 설치
모듈 번들러
(빌드툴)
- WebPack
- Rpllup
- Vite
기타
- express
- 웹서버 프레임워크
- 템플릿엔진
- 퍼그(Pug)(제이드)
- 넌적스(Nunjucks)
- 컴퍼스
- 몽고디비 관리도구. GUI를 통해 데이터를 시각적으로 관리
- MongoDB
- 자바스크립트 문법을 사용
- NoSQL(Not Only SQL)의 대표주자
- Collection(=table), Document(=row), Field(=column)
- Mongoose
- ODM(ORM과 같은원리) Object Document Mapping