V8 엔진으로 빌드된 자바스크립트 런타임입니다.
작성언어를 자바스크립트로 하며, 내장 HTTP서버 라이브러리를 포함하고 있어,
아파치 등 별도 소프트웨어 없이, 자바스크립트로도 웹 서버를 개발할 수 있습니다.
특히, HTTP는 스트리밍과 저지연을 염두에 두고 설계되었습니다.
이는 Node.js 가 웹 라이브러리나 프레임워크의 기반으로 아주 적합하게 하였습니다.
( Node에 대해 정리하는 이유 )
이벤트 기반, 논 블로킹 I/O.
[참고] Node : About - https://nodejs.org/ko/about/
[발췌문장]
Node.js
가 가장 빛을 발하는 곳은 실시간 웹 애플리케이션이다.
Node.js
는 lock
이 없으므로 프로세스를 dead-locking
할 걱정이 없고,
I/O를 직접 수행하지 않으므로 프로세스가 절대 차단되지 않기 때문이다.
non Block
이기에 확장 가능한 시스템은 노드에서 개발하는 것이 합리적이다.
: https://kdydesign.github.io/2017/07/15/nodejs-npm-tutorial/
본격적으로 라이브러리를 사용하기 전에, Node.js의 패키지 생태계인 npm에 대해 알아봅니다.
npm은 Node Package Manager
로 Node.js 기반의 모듈을 모아놓은 저장소 입니다.
npm의 설치는 Node.js를 설치하면 자동으로 설치됩니다.
node -v
npm -v
명령으로 버전을 확인할 수 있습니다.
node init -y
를 실행하면 package.json
파일이 생성됩니다.
-y
옵션은 파일을 생성하는데 있어 질문을 생략합니다.
{
"name": "pakage",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
package.json
은 프로젝트에 대한 명세입니다.
프로젝트의 이름, 버전, 사용되는 모듈 등을 정하며, 의존성 모듈 관리도 할 수 있습니다.
package.json
이 있다면, 의존하는 모듈이 무엇인지 알 수 있으며,
npm intall
명령으로 한번에 설치할 수 있습니다.
pacakge.json
에 대한 자세한 정보는 : https://programmingsummaries.tistory.com/385
npm을 통해 모듈을 설치합니다.
npm install express
명령을 통해 express
모듈을 설치할 수 있습니다.
설치가 되면, 프로젝트 내에 node_modules 폴더가 생성되고,
package.json
에 dependencies
에 express
가 추가됩니다.
"dependencies": {
"express": "^4.17.1"
}
이렇게 설치한 npm
모듈은 해당 프로젝트에서 사용할 수 있습니다.
또한, 전역으로도 모듈을 설치할 수 있습니다.
npm i express -g
( install
을 i
로 축약 가능합니다. )
-g
옵션을 추가하면, 전역으로 설치되어, C:\Users\사용자명\AppData\Roaming\npm
경로에 설치됩니다.
npm list
npm list -g
명령으로 설치된 npm 목록을 조회할 수 있습니다.