1. node.js란?
자바스크립트를 사용하여 데이터베이스에 연결해 서버로 요청을 보내는 기능을 구현할 수 있다.
node.js는 크롬V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임이다.
node.js를 웹서버 자체로 생각하는건 잘못된 것이다. apache 같은 웹서버중 하나가 아니다.
브라우저가 아니라 서버에서 자바스크립트가 동작하도록 도와주는 런타임 플랫폼이라고 생각하면 된다.
2.node.js의 역사
2009년 라이언 달 이라는 개발자가 node.js를 처음 만들었고 지금까지도 업데이트가 잘 되고 있다.
node.js를 설치해서 실행한다고 웹서버가 실행되는게 아니라 node.js에 있는 라이브러리를 설치해서 사용한다.
npn(Node Package manager)을 이용해서 라이브러리를 설치해서 사용할 수 있다.
3.node.js의 특징
(1) 자바스크립트로 백엔드 서버 로직을 개발할 수 있다.
(2) 구글에서 개발한 js엔진을 쓰기 때문에 속도가 빠르다.(인터프린터 방식)
(3) 논 블로킹 방식으로 node.js의 모든 API는 비동기적으로 작동하며 호출 후 다른 API를 바로 불러올 수 있다.
한번 불러왔던 API를 요청하면 이벤트 루프가 확인해서 동작한다.
4. node.js의 탄생이유
방대한 오픈소스 생태계를 구축하고 리액트, 익스프레스, 코아 등의 패키지들은 다 npm에 등록되어 있어서 npm을 사용해서 패키지들을 다운받을 수 있다.
따라서 특수한걸 만드는 것이 아닌 이상 이미 나와있는것들이 많다.
※ 모듈
패키지는 클래스의 묶음, 패키지의 모임이 모듈 => 기능들의 모임, 파일의 모임
5. node.js의 require
node.js 에서 모듈을 가져오는 방법은 require 함수를 사용해서 가져온다.
const http = require('http')
http.createServer를 변수에 담으면 서버가 되는 부분을 반환 받을 수 있다.
const server = http.createServer((req,res)=>{
//req 요청값
//http에서 ok를 나타내는 번호가 200번
req.statusCode = 200;
/*http 상태코드
100번대 : 정보응답
200번대 : 성공 응답
300번대 : 리다이렉션 메시지, 요청한 url이 변경됬을때
400번대 : 클라이언트상의 오류, 클라이언트에 오류가 있을 때
500번대 : 서버 오류 응답, 서버에 오류가 있을 때
*/
//write : 문자를 써서 보내주는 함수
res.write('123');
//end : 매개변수 문자를 보내주면서 끝맺음
res.end('456');
}
서버가 되는 server에 함수를 사용한다 => 서버를 열어줌
listen 함수로 서버를 열어줌
const PORT = 3000;
server.listen(PORT,()=>{
console.log('port : ', PORT)
}
server 객체의 준비가 되면 listen 함수로 해당 포트에 서버를 대기시킨다.
서버를 대기시키는 이유는 클라이언트에서 요청이 오면 서버가 받아서 처리할 수 있다.
여기 들어가는 매개변수는 포트번호, 호스트의 이름, 백로그, 콜백함수이다.
6. node.js 테스트
코드 샌드박스, glitch 등등
노드서버를 바로 볼수 있고 코딩도 바로바로 테스트 해볼수 있다.
glitch 장점
https 검증도 되어있는 웹 서버를 테스트로 사용해 볼수 있다.
7. glitch 사용 순서
(1) node프로젝트 생성
(2) server.js에 서버 로직을 작성
(3) preview 버튼을 눌러서 위에 버튼은 바로 그창에서 화면을 볼수 있고
(4) 테스트용 링크가 필요하면 preview 버튼 눌렀을때 preview in a window 를 누르면 클라이언트 요청을 보내볼 웹서버 주소로 접속이 된다. => 테스트에 용이하게 사용할 수 있다.
8. node.js 버전관리 방법
서버노드는 최신이데 로컬노드가 구버전일 때 : 최신버전은 기능이 있고 구버전이 있는경우 실행 되지 않는다.
해결방법 :
첫번째 방법 : node를 삭제했다 다시 깐다.
두번째 방법 : nvm(node version manager)를 사용한다.
https://github.com/coreybutler/nvm-windows/releases
들어가서 nvm-setup.zip 설치하고 실행 ( 실행하는 도중 node의 버전이 바뀔수 있음 : yes클릭 )
이전버전들 보려면 https://nodejs.org/ko/download/releases/
설치하고 실행 후 cmd창 열기
nvm -v : nvm version 확인 (첫번째줄에 버전뜨면 OK)
nvm ls : 설치되어 있는 버전들 확인
nvm install v버전 : 변경할 node버전 설치
nvm use 버전 : node 버전 변경
exit status 5,1 : cmd창을 관리자 권한으로 실행해야된다.
9. 메타데이터 파일을 가지고 있는 json 초기화 명령어
메타데이터는 데이터들을 설명해주는 데이터이다
해당 경로로 들어가 npm init -y 명령어를 입력하면 package.json 이라는 파일이 생성됨
name : 프로젝트의 이름
version : 프로젝트의 버전을 정의
description : 프로젝트의 설명, 문자열로 작성 가능하다.
keywords : 프로젝트를 검색할때 참조되는 키워드
author : 프로젝트 작업자 정보
scripts : 프로젝트에서 자주 실행해야 하는 명령어를 scripts에 작성해두면 npm명령어로 편하게 실행 가능
scripts 작성방법 => "scripts : { "start" : "node 파일이름.js", "test" : "node 파일이름.js"}
npm start, start가 아니면 npm run test
license : 모듈의 라이센스를 기록하는데 사용
'개발 > node.js' 카테고리의 다른 글
[Node.js] socket.io 로 채팅방 만들기 (0) | 2022.07.26 |
---|---|
[Node.js] 삭제, 수정버튼 만들기 (0) | 2022.07.26 |
[node.js] express, MySQL (0) | 2022.07.25 |
Node.js 핵심개념 (0) | 2022.07.20 |
[node.js] formatting, linting (0) | 2022.07.19 |