일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Axios delete
- req.queries
- mongoose populate
- css 기초
- mongoose delete
- req.get
- mongoose create
- express 프로젝트 시작하기
- Axios put
- Axios post
- CSS
- mongoose find
- req.params
- node.js란
- await
- 파이썬
- promise
- 자바스크립트
- res.status
- res.render
- res.set
- javascript
- mongoose update
- 웹개발
- async
- Axios get
- HTML
- http
- 프론트엔드
- req.body
- Today
- Total
모스카토
NPM과 모듈 본문
1. NPM 이란 ?
= Node Package Manager
Node.js 프로젝트를 관리하는 필수적인 도구
① 온라인 저장소와 커맨드라인 도구로 구성된다.
- 온라인 저장소 : 오픈소스 라이브러리, 도구들이 업로드되는 저장소.
- 커맨드라인 도구 : 프로젝트 관리를 위한 명령어 제공.
② npm을 사용하면 프로젝트의 의존성 관리가 쉽다.
dependency (의존성) : 프로젝트는 다양한 라이브러리에 의존하여 실행됨. 그 라이브러리들을 dependency 라고 한다.
* 라이브러리 : 특정 기능을 수행하는 코드의 묶음. 다른 사람이 구현한 코드를 사용하는 방법. node.js에서는 패키지라고도 부른다.
2. NPM 사용하기
1. $ npm init : 프로젝트 생성하기
* 프로젝트를 생성할 디렉토리 안에서 명령어를 쳐야한다.
→ package.json 파일이 생성되고, Node.js 프로젝트가 된다.
package.json 파일 : 프로젝트의 버전(version), 이름(name), 설명(description), 사용자 작성 스크립트(scripts : npm run [script name] 으로 실행할 수 있음 ), 의존성 패키지들(dependencies) 등이 있다.
2. $ npm install : 프로젝트 의존성 관리하기
① 패키지 추가하기.
$ npm install [ package-name ]
→ package.json파일의 dependencies 에 추가되고, node_modules 디렉토리에 저장된다.
package-lock.json 파일이 자동 생성됨 : 패키지를 설치할 때 자동으로 ^최신버전 패키지가 추가되는데 이 때 버전이 갑자기 변경되지 않게 고정하는 역할을 한다.
② 개발용 의존성( 배포전까지만 사용하는 의존성 )을 분리하여 관리하기.
$ npm install [ package-name ] --save-dev
→ package.json파일의 devDependencies 에 추가된다.
③ 개발용 의존성을 제외하고 내려받기
$ npm install --production
④ 프로젝트 외부에서 사용하는 패키지 설치하기.
$ npm install [package-name] --global
→ 패키지를 전역 패키지 디렉터리에 받음.
⑤ 패키지 한번에 설치하기
$ npm install
→ package.json 에 정의된 의존성을 node_modules 디렉터리에 내려받는다.
배포할 때 용량이 커지므로 node_modules 디렉토리는 업로드 하지 않는다.
3. $ npm remove 패키지 삭제하기
$ npm remove [ package-name ]
→ package.json 파일의 dependencies, devDependencies에서 삭제하고 node_modules 디렉토리에서도 삭제된다.
** 로컬패키지 : package.json과 node_modules 에 저장된 패키지
** 전역 패키지 : npm install -g 로 받고, 전역 패키지 저장소에 저장된 패키지.
→ 프로젝트를 관리할 때 package.json에 패키지들이 명시되어 있는 것이 좋다.
4. npm run [ script-name ]
→ package.json 의 scripts에 선언된 코드 실행
npm script 에선 의존성 패키지를 import 하지 않고 사용가능하다.
$ npm test // 코드 유닛 테스트에 사용
$ npm start // 프로젝트 실행
$ npm stop // 프로젝트 종료
3. NPX 란?
= npm 패키지를 설치하지 않고 사용할 수 있게 해주는 도구
gist 코드도 바로 실행 가능하다.
gitst 코드 : github에 등록된 간단한 코드
4. Node.js의 모듈
모듈 : 프로젝트가 커지면 반복되는 코드를 분리하여 모듈화한다.
패키지 : 모듈의 모음.
Node.js 기본제공모듈
① console : 디버깅 도구.
log, warn, error 함수로 로그 레벨 표시
time, timeLog, timeEnd 함수로 시간 추적
② process : 현재 실행중인 프로세스 관련 기능 제공.
arch, argv, env 등 실행 환경, 변수 관련 값
abort, kill, exit 등 프로세스 동작관련 함수
③ fs : 파일 입출력
readFile : 파일읽기
writeFile : 파일 쓰기
readFileSync, writeFileSync : 파일 읽기, 쓰기 동기 동작
watch : 파일, 디렉터리 변경 이벤트 감지
④ http : http 서버, 클라이언트 생성
createServer : 서버생성
Requst : http 요청 생성.
⑤ url : url 파싱
⑥ os : 운영체제 정보
⑦ Path : 디렉터리 string 관련 작업
⑧ crypto : 암호화, hash관련 함수 제공
...
5. 모듈의 작성과 사용
1. 모듈 내보내기
① exports.키 = 값;
② module.exports = { name, age, gender }
③ module.exports = ( name, age, gender ) => {
return { name, age, gender }
}
2. 모듈 사용하기
① require(' 가져올 모듈이 있는 파일의 상대경로 ') : .js 파일이면 해당 파일을 가져오고, 디렉토리이면 그 안의 index.js 파일을 가져온다.
처음 require할 때 모듈 코드가 실행되고, cache로 저장된다. 다른 파일에서 다시 같은 모듈을 실행할 수 없다.
여러번 실행하려면 모듈을 함수로 작성해야 한다.
② const myFunction = require('./my-function')
함수형 모듈은 require해도 바로 실행되지 않고, 함수를 실행하여 모듈을 사용한다.
③ require( ' 패키지 이름 ' ) : 의존성 패키지 load.
* node_modules에 있는 패키지만 가능.
④ const myData = require( ' ./my-data ' ) : json 파일 가져오기.
자동으로 object로 파싱된다.
6. ES Module
= ES6 에서 등장한 JavaScript의 공식적인 표준 모듈
Node.js 의 독자적인 common js 와 ES 는 문법과 동작방식이 서로 다르다.
'엘리스 ai트랙' 카테고리의 다른 글
Express.js와 REST API (0) | 2022.02.18 |
---|---|
익스프레스 시작하기 (0) | 2022.02.18 |
Node.js 기초 (0) | 2022.02.16 |
Axios API 사용하기 (0) | 2022.02.12 |
sql로 데이터 다루기2 (0) | 2022.02.11 |