본문 바로가기

Backend Study/Node.js

Node js. 시작하기 (npm, express ..)

평상시 스프링부트를 사용하지만 회사에서 노드를 사용해야할 프로젝트가 있어서 노드 스터디를 시작해본다!

개발 전에 알아야할 개념들을 정리해보았다.

 

1. 노드 js란? 

Node.js는 Chrome의 v8 엔진을 이용하여 javascript로 브라우저가 아니라 서버를 구축하고, 서버에서 javaScript가 작동되도록 해주는 런타임 환경이다.

자바 스크립트는 원래 웹 브라우저 안에서만 사용할 수 있도록 제작되어있다. 이를 웹 브라우저에서 독립적으로 사용하기 위해 만들어 낸 것이 Node.js이다. 이를 이용하면 웹 브라우저 없이 프로그램을 만들 수 있고, 서버도 만들 수 있다. 

 

2. express란?

Node.js를 위한 웹 프레임워크 중 하나이다. 
Express는 이런 Node js의 원칙과 방법을 이용하여 웁 애플리케이션을 만들기위한 프레임워크이다. 

 

그럼  Express는 왜 사용할까? 

1. 프레임워크이므로 웹 애플리케이션을 만들기 위한 각종 라이브러리와 미들웨어 등이 내장돼 있어 개발하기 편하다.
2. 개발자들에게 개발 규칙을 강제하여 코드 및 구조의 통일성을 향상시킬 수 있다. 

 

Http 내장 모듈로 웹 서버 띄우기 vs Express로 웹 서버 띄우기

 

const http=require ('http');

http.createServer(function(request, response){
	response.writeHead(200,{Content-type':'text/html'})
    response.write('Hello http webserver!')
    response.end();
}).listen(52773,function(){
	console.log("server running http://127.0.0.1:52773/")
});

 

------------

 

const express = require('express');
const app = express;
const port = 3000;

app.length('/',(req,res)=>{
	res.send('Hello Express~')
});

app.listen(port, () => {
	console.log('Express server listen..')
});

 

 

3. npm이란? 
노드 패키지 매니저(Node Package Manager)를 의미한다. Node.js의 기본 패키지 관리자 역할을 한다. 
npm을 통하여 js 소프트웨어를 자신의 프로젝트에 설치할 수 있다.  패키지들이 서로 의존되어 있어서, 하나의 문제가 발생하면 다른 것들까지 기능하지 않을 수 있다. 이를 관리하기 위해 package.json을 사용한다.

 

명령어 Ex.

npm init : npm을 쓸 수 있는 초기 환경을 설정해 줌.

npm install '패키지 명' : 원하는 패키지를 설치할 수 있다. 

 

참고) 

 

[NODE 강의] Express 란?

[클립명] 1. Express 시작 2. nodemon 3. Routing Express란? Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크이다. 사실상 Nod.

ninjaggobugi.tistory.com

 

 

Node.js란 무엇인가?

수업을 통해 node.js를 배웠다.자바스크립트의 런타임이다.....???.....아 무슨말이지......저걸로는 잘이해가 가지 않아서,그 내용을 정리해 보려한다.그래서 node.js가 뭔지, 어디서, 어떻게 쓰는 건지

velog.io

 

'Backend Study > Node.js' 카테고리의 다른 글

Node.js 모듈 이용하기  (0) 2022.08.04
Node.js 설치하기  (0) 2022.08.03
Node.js 특징  (0) 2022.08.03
자바 스크립트 var, let, const 차이점  (0) 2022.08.02
Node.js 파라미터 전달받기  (0) 2022.07.22