본문 바로가기
개발기록

Node.js 노드 시작하기 (노드란?)

by spectrum20 2023. 10. 29.
반응형

0. Node.js 란?

  • 자바스크립트 런타임 환경 (언어가 아닌, 자바스크립트 언어가 구동되는 환경)
  • 내장 HTTP 서버 라이브러리를 가지고 있어, 웹 서버를 구동시킬 수 있는 환경 제공

특징

  • 서버 확장 용이
  • javascript 언어로 백엔드+프론트엔드 개발 가능
  • 비동기 이벤트 

 

Javascript 언어는 웹브라우저 상에서 동작하지만, Node.js는 자체 웹 서버를 가지고 있어서

javascript 언어로 백엔드와 프론트엔드를 동시에 개발하고 웹브라우저 없이도 터미널에서 실행시킬 수 있다

 

기존, Server-Client 웹사이트를 만들때는 백엔드(java, python)와 프론트엔드(javascript)를 다른 언어를 사용해서 만들어야 했지만, node.js를 사용해서 같은 언어(javascript)로 웹사이트 개발 가능

 

 

1. 노드 설치

https://nodejs.org/en

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

설치를 완료하면 cmd에서 버전확인

npm(node package manager)과 node의 설치된 버전을 확인할 수 있다

 

 

 

2. node.js 서버 생성 코드

App.js 파일 생성하여 코드 작성

 

http 모듈

// 내장 http 모듈 불러오기
const http = require("http");

// localhost:3000 으로 내부서버 구축
const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((request, response) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname () => {
  console.log("Server running at http:${hostname}:${port}");
});

 

express 모듈

: express 모듈은 node.js의 웹 어플리케이션 프레임워크로

웹 어플리케이션 개발을 위한 여러 라이브러리와 미들웨어가 내장되어있어 개발이 편리하고,

직관적인 코드 개발가능

 

express 모듈 설치

npm i express -s

// 내장 express 모듈 불러오기
const express = require("express");

// 3000번 포드로 내부서버 구축
const app = express();
const port = 3000;

app.get('/', (req,res) => {
  res.send('express server')
  
  // html 파일 랜더링
  // res.sendfile("public/index.html");
});

server.listen(port () => {
  console.log("Server running at port ${port}");
});

 

3. 서버 실행 

cmd창에서 

node App.js 입력하면 서버가 실행된다

 

끝-!

 

 

 

 

 

+ 노드에 대해 검색하다가 잘 정리해 놓은 곳이 있어서 공유

https://hanamon.kr/nodejs-%ea%b0%9c%eb%85%90-%ec%9d%b4%ed%95%b4%ed%95%98%ea%b8%b0/?unapproved=1767&moderation-hash=cc383a652b80e45c6e115ab32d3855ab#comment-1767

 

Node.js 노드 개념 이해하기 자바스크립트 JavaScript 런타임 이벤트

Node.js 노드 개념 이해하기 JavaScript 런타임 - 노드는 다양한 자바스크립트 애플리케이션을 실행할 수 있으며, 서버를 실행하는데 제일 많이 사용된다. 이벤트 기반 이벤트 루프 논블로킹 I/O 싱글

hanamon.kr

 

반응형

'개발기록' 카테고리의 다른 글

REST API 란?  (1) 2024.10.03

댓글