2.REPL과 NPM

node JS 2019. 12. 21. 12:57

1. REPL

REPL은 Read Eval Print Loop의 약자로 윈도우 커맨드 창처럼, 커맨드를 입력하면 시스템 값이 반환되는 환경을 이야기 하는거다.

Read : 값을 입력 받아 javaScript 데이터 구조로 메모리에 저장

Eval : 데이터 처리(Evalute)

Print : 결과값 출력

Loop : Ctrl+C를 두번 눌러 종료할때까지 반복.

REPL은 주로 자바스크립트 코드를 테스팅 및 디버깅할때 유용하게 사용된다

 

실행하는 방법은 파라미터 입력 없이 node를 입력한다

간단한 연산을 수행해보자.

변수에 값을 저장하고 출력할 수 있다.

var 키워드를 사용하면 명령어를 입력했을때 변수값이 출력되지 않고, 

var 키워드를 사용하지 않으면 값이 출력된다.

출력은 console.log()를 사용해서 할 수 있다.

Multi-Line 표현식을 사용하면 반복문과 제어문도 사용할 수 있다.

x를 0으로 선언해주고 1씩 증가시켜주며 조건은 x<3으로 지정해준 뒤 반복을 실행해 준다.

Underscore(_)변수는 최근 결과값을 가리키는 변수이다.

위와 같이 var sum=_입력해주면 sum 변수값이

마지막 출력값이었던 15로 지정되서 출력된다.

 

커맨드 목록

Ctrl+C – 현재 명령어를 종료한다.

Ctrl+C (2번)  – Node REPL을 종료한다.

Ctrl+D – Node REPL을 종료한다.

위/아래 키 – 명령어 히스토리를 탐색하고 이전 명령어를 수정

Tab – 현재 입력란에 쓴 값으로 시작하는 명령어 / 변수 목록을 확인

.help – 모든 커맨드 목록을 확인한다.

.break – 멀티 라인 표현식 입력 도중 입력을 종료.

.clear – .break 와 같다.

.save filename – 현재 Node REPL 세션을 파일로 저장한다.

.load filename – Node REPL 세션을 파일에서 불러온다

 

2. NPM

NPM은 Node Package Manager의 약자이며 두가지의 주요 기능을 가지고 있다.

NPMSearch에서 탐색 가능한 Node.js 패키지/모듈 저장소 탐색

Node.js 패키지 설치 및 버전 / 호환성 관리를 할 수 있는 커맨드 유틸리티

NPM이 설치되었는지 확인하려면  아래 명령어를 입력하자.

NPM이 구버전이라면 다음 명령어로 최신버전으로 업데이트 할 수 있다.

$sudo npm install npm -g

npm에서 일부 패키지를 설치 할 때 python을 요구하기에 파이썬 런타임도 설치하자.

npm install <모듈 이름>는 모듈을 설치할때 사용한다.

예를 들어 express를 설치한다면 

npm install express를 입력해주면 돤다.

설치하고 나면 js파일 내에서 사용할 수 있다.

var express = require('express');

 

npm은 기본적으로 모듈을 로컬모드로 설치한다.

명령어를 실행한 디렉토리 안에 있는 node_module에 설치하는걸 말하고

글로벌 설치는 시스템 디렉토리에 설치하는걸 말한다. 

$ sudo npm install express -g

/usr/lib

└─┬ express@4.17.1

 

현재 경로가 아닌 /usr/lib/node_modules 에 모듈을 설치한다.
시스템에 저장하므로, 루트 계정이 아니라면 앞에 sudo를 붙여주어야한다.

글로벌 모드로 설치했을때는 node어플리케이션에서 바로 require할 수는 없다

다음처럼 npm link명령어를 입력하고나면 해당 모듈을 불러올 수 있다.

$ npm install -g express
$ cd [local path]/project
$ npm link express

 

package.json은 노드 어플리케이션/모듈의 경로에 있으며 패키지의 속성을 정의해 준다.

다음은 express로 프로젝트를 생성했을때 생성되는 package.json이다.

{
  "name": "myapp",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.13.2",
    "cookie-parser": "~1.3.5",
    "debug": "~2.2.0",
    "express": "~4.17.1",
    "jade": "~1.11.0",
    "morgan": "~1.6.1",
    "serve-favicon": "~2.3.0"
  }
}

모듈 제거는 다음 명령어로 할 수 있다 

npm uninstall express

업데이트는 다음 명령어로 할 수 있다.

npm update express

다음 명령어로 모듈 검색을 할 수 있다.

npm search express

이 명령어는 처음에 메모리를 많이 잡아먹으니

클라우드 IDE를 사용하거나 서버에 램이 적다면 오래걸리거나 에러가 난다.

그럴 경우에는 NPMSearch(https://npmsearch.com/)에서 검색을 하면 된다.

'node JS' 카테고리의 다른 글

6.Node js Express-2(EJS)  (0) 2020.01.11
5.Node js Express-1  (0) 2020.01.04
4.Http Module  (0) 2019.12.26
3.Event Loop  (0) 2019.12.21
1.Node JS 세팅 및 http서버 개설  (0) 2019.12.15

WRITTEN BY
Clasha

,