TIL

yongyongi·2021년 3월 20일
0

Node란?


  • v8엔진으로 만들어진 자바스크립트 런타임.

    좀더 쉽게 자바스크립트를 컴파일 해주는 엔진으로 빌드 된 자바스크립트가 구동중인 환경이다.

  • 이벤트 기반 및 논블로킹 I/O 모델
    : 유저의 클릭이나 네트워크에 리소스를 요청하는 이벤트가 논블로킹으로 이루어지는 input Output model (non blocking 방식으로 속도가 빠르다.)

  • npm install 하지 않아도 node만 설치되어 있다면 사용할 수 있는 대표적인 모듈 (fs, http, url, path)

require('')방식으로 사용할 수 있음.
ex) const http = require('http');

V8 :
자바스크립트를 기계어로 컴파일 해줌
런타임 :
프로그래밍 언어가 구동되고 있는 환경
이벤트 :
유저의 버튼 클릭이나 네트워크에 리소스를 요청하는 것 등
논블로킹 :
다음 함수의 실행이 현재 함수의 종료를 기다리지 않음 - 비동기(asychronos)
블로킹 :
다음 함수의 실행이 현재 함수의 종료 이후에 이루어 지는 것 - 동기(sychronos)
I/O model :
input을 주면 Output을 반환하는 모델
**npm(Node Package Manager) **:
세계에서 가장 큰 오프소스 라이브러리 생태계 중 하나 (CLI계의 앱스토어)

package.json란?


  • **run script **: CLI에서 해당 코드를 실행 시킨다.
  • dev- dependency : production과 관계 없는 개발만을 위한 dependency. 컴파일 테스트 용도.

설치 방법
$ yarn add @babel/core --dev
$ npm install @babel/core --save-dev

  • dependency : 직접 production과 관련 있는 dependency.

설치 방법
$ yarn add react
$ npm install --save react

save를 하는 이유
: npm install은 package.json에 있는 dependency를 바탕으로 설치. dependency에 저장하기 위해 save를 사용한다. 협업을 하는 경우 만약 dependency에 등록하지 않고 상대방에게 코드를 넘겨 주었을때, 상대방은 npm install을 해도 그 모듈을 사용할 수 없기 때문에 분쟁 요인이 됌.
즉, 나만 사용할거라면 npm install [모듈명]을 해도 되지만, 협업을 할 경우라면 npm install --save [모듈명]을 꼭해주어야 한다.

nodemon이란?

: 저장사항을 반영해서 즉각적으로 서버를 다시 실행시켜주는 라이브러리


package.json, nodemon 연습

  1. 폴더를 만들어준다.

  2. npm init : 이 폴더를 npm을 쓰는 프로젝트로 정의(맨 처음에 해줌)

  3. 이 후에 작성해야 할 것들을 작성하면 package.json파일이 생김

  4. test.js 파일을 만들고, console.log('hello')를 찍어본다.

  5. node환경에서 실행 시켜본다.

  6. package.json의 scripts객체안에 start라는 key 값을 생성하고, value 값에는 'node test.js'를 입력하고, npm run start를 실행해본다. => 5번과 똑같은 결과값이 나옴

  7. nodemon 사용을 위해 npm install --save nodemon을 한다.

  8. package.json파일의 start value값을 nodemon test.js로 바꾼다.

  9. 6번과 똑같이 npm run start를 해주면 nodemon이 실행되면서 test.js 파일이 변화되면 즉각적으로 node화면으로 보여준다.

profile
개발자 만들어지는중.....

관심 있을 만한 포스트

0개의 댓글