0. Node.js 란?
- 자바스크립트 런타임 환경 (언어가 아닌, 자바스크립트 언어가 구동되는 환경)
- 내장 HTTP 서버 라이브러리를 가지고 있어, 웹 서버를 구동시킬 수 있는 환경 제공
특징
- 서버 확장 용이
- javascript 언어로 백엔드+프론트엔드 개발 가능
- 비동기 이벤트
Javascript 언어는 웹브라우저 상에서 동작하지만, Node.js는 자체 웹 서버를 가지고 있어서
javascript 언어로 백엔드와 프론트엔드를 동시에 개발하고 웹브라우저 없이도 터미널에서 실행시킬 수 있다
기존, Server-Client 웹사이트를 만들때는 백엔드(java, python)와 프론트엔드(javascript)를 다른 언어를 사용해서 만들어야 했지만, node.js를 사용해서 같은 언어(javascript)로 웹사이트 개발 가능
1. 노드 설치
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 입력하면 서버가 실행된다
끝-!
+ 노드에 대해 검색하다가 잘 정리해 놓은 곳이 있어서 공유
Node.js 노드 개념 이해하기 자바스크립트 JavaScript 런타임 이벤트
Node.js 노드 개념 이해하기 JavaScript 런타임 - 노드는 다양한 자바스크립트 애플리케이션을 실행할 수 있으며, 서버를 실행하는데 제일 많이 사용된다. 이벤트 기반 이벤트 루프 논블로킹 I/O 싱글
hanamon.kr
'개발기록' 카테고리의 다른 글
REST API 란? (1) | 2024.10.03 |
---|
댓글