본문 바로가기

Web/Node.js

[Node.js] 란, npm, 모듈 ...

- 고객(클라이언트)이 메뉴(웹 사이트)를 보고 음식(정보)을 주문하면 주방(서버)에서 음식(정보)을 만들어 고객에게 제공

- Node.js는 주방에서 더 쉽고 빠르게 음식을 만들 수 있도록 도와주는 요리사

 

  • Node.js의 장점

기존에 알고 있던 자바스크립트를 확장해서 백엔드 개발을 할 수 있다는 것

즉, 하나의 언어로 풀스택 개발이 가능

 

  • 서버를 만든다는 것

서버는 클라이언트의 요청을 받아 무엇인가를 처리해서 되돌려주는 컴퓨터

서버를 만든다는 건 컴퓨터를 만드는 것이 아니라 서버 컴퓨터에서 돌아가는, 실행되는 프로그램을 만드는 것

필요한 서비스를 위한 프로그램을 만듦

 

Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임이다.

=> Node.js를 사용함으로 인해 자바스크립트가 브라우저 밖으로 나와서 실행할 수 있는 환경이 된 것

 

  • npm: Node Package Manager

자바스크립트 라이브러리를 비롯해 프레임워크, 플러그인 등 다양한 패키지를 내려받아 사용할 수 있게 해주는 도구

Node.js 설치하면 함께 설치됨

 

  • Node.js 가 프레임워크인가??

챗지피티 왈

Node.js는 프레임워크가 아니라 런타임 환경입니다. JavaScript 코드를 서버에서 실행할 수 있게 해주는 환경을 제공하지만, Node.js 자체는 웹 애플리케이션 개발을 위한 완전한 구조나 규칙을 제공하지 않습니다. 대신, Node.js를 기반으로 다양한 프레임워크들이 존재하며, 이러한 프레임워크들은 애플리케이션 개발을 더 쉽게 만들어 줍니다.

 

  • 모듈, 라이브러리, 패키지

모듈: 기능별로 쪼개놓은 파일

라이브러리: 모듈이 여러 개 묶여 있는 것

패키지: 배포할 수 있도록 여러 모듈과 모듈 관련 파일을 묶어 놓은 것

 

모듈을 사용하면 코드를 중복해서 작성하지 않아도 돼서 편리함

내가 직접 모듈을 만들 수도 있고, 남이 만든 걸 가져올 수도 있음

 

 

npmjs.org사이트에서 필요한 패키지를 설치할 수 있고, 설치한 패키지는 package.json 파일의 dependencides 에 추가됨

 

 

 

... Node.js 와 함께 Express 프레임워크, 자바스크립트만으로 활용 가능한 MongoDB 사용 예정