Dependency Manage
CDN(Content Delivery Network)
- 콘텐츠를 효율적으로 전달하기 위해 분산된 서버에 데이터를 저장하여 제공하는 시스템
- 전역 스코프를 공유하기 때문에 파일 간의 의존성을 확인해야 하는 번거로움
- 네트워크 요청이 증가하여 성능 측면에서도 단점이 존재
npm (Node Package Manager)
- Node.js의 패키지를 관리하는 도구
- 모든 패키지는 npm 레지스트리에 저장됨
package.json
파일을 통해서 프로젝트 정보와 패키지의 정보를 관리함
{
"name": "test",
"version": "1.0.0",
"description": "npm test package.json",
"main": "index.js",
"scripts": {
"dev": "next dev",
"build" : "next build",
"start" : "next start"
}
....
}
package.json의 속성들
이름 | 설명 |
---|---|
name | 프로젝트(패키지)의 이름 |
version | 프로젝트의 버전을 명시, semantic versioning을 따름 |
dependencies | 프로젝트의 의존성 패키지들을 정의하며 실제 프로덕션 배포에서도 필요한 패키지 |
devDependencies | 프로젝트의 의존성 패키지들을 정의하지만 실제 프로덕션 배포에서는 필요하지 않고 개발에만 필요한 패키지 |
repository | 소스 코드가 저장된 리포지터리 주소 명시 |
author | 개발자 정보를 명시 |
licenses | 라이선스를 명시 |
main | 패키지를 설치하는 곳의 진입점으로 사용할 파일 |
scripts | 커스텀 명령어를 정의하여 프로젝트를 실행 |