JavaScript/Node.js

Node.js #설치 #npm #get#post#how to show HTML

keartt 2023. 2. 12. 06:33
반응형

Node.js 란? 쓰는 이유는 ?

더보기

- 구글 크롬 짱 V8 자바스크립트 엔진으로 구동되는 네트워크 서버 플랫폼

- Non-Blocking I/O -- (먼저 끝날것 같은 작업 먼저 처리)

-- 주의 : 비동기식 이기에 자바처럼 하면 문제 발생 가능

참고 : [Node.js 1강]node js 란? 장점, 단점, 어떤 웹서비스에 사용해야할까? (tistory.com)

 

 

설치 및 버전확인

 

 

vscode 터미널 안될때 

더보기

VS Code 터미널에서 npm 실행할 때는, powershell 아니고 command prompt

npm 에러날떄는환경변수 설정해주고 재부팅 

 

npm? 

라이브러리 설치를 도와주는 도구 

라이브러리 설치 기록 =  package.json 

 


시작

npm init

 

참조  : npm package.json 생성 (tistory.com)

-- entry point :  프로젝트의 시작할 실행 파일을 지정

 

npm install express

 

: express 라이브러리 설치 

node_modules : 라이브러리에 필요한 자료를 담는 공간 

 

 

서버 생성 

node 에서 서버를 만들기 위한 기본 문법 in entry point 

// npm install express 한 거 참조할게요
const express = require('express');
const app = express();

app.listen( 5000, function() {
  // 포트번호 , 띄운 후 실행할 함수
  
});

 

서버 실행 및 종료

실행방법 

node 파일명.js
// 여기서 파일은 위에 express 적힌 파일

종료 : Ctrl + C

get 요청 처리 

app.get('/hi',  function (요청, 응답) {
  응답.send('하이염');
})

응답에 원하는 페이지 내용을 넣으면, get 요청에 따라 그 페이지 보여줌 ㅇㅋ?

 

서버 재실행 자동화 방법

수정할때마다 껐다 키기 귀찮기 때문에 아래 js 라이브러리 사용

npm install -g nodemon

nodemon server.js

nodemon 실행 오류 발생시

더보기

- PowerShell 관리자 모드로 실행

-- executionpolicy 입력

-- set-executionpolicy unrestricted 

-- y

 

node 응답으로 html 파일 보여주는 방법

app.get('/',  function (요청, 응답) {
  응답.sendFile(__dirname + '/index.html')
})

 

node, js 에서의 콜백함수 사용이유 :  순차적으로 실행하고 싶을 때 

 

post 요청 처리 

app.post('/add', function(req, res) {
  res.send('form action complete')
})

-- node 에서 post data 를 받기 위해서는 body-parser 가 있어야 함 

-- 대충 위에 아래 한줄 추가 

app.use(express.urlencoded({extended:true}))

 

 

 

반응형