티스토리 뷰

반응형
npm 

 

노드 패키지를 관리해주는 툴

* 설치시 npm install -> npm i로 생략 가능

 

 

 

Express

 

웹 서버를 생성하는 기능을 담당하는 프레임 워크

npm으로 설치해야됨

 

 

 

ejs 템플릿

 

ejs 자바스크립트가 내장되어잇는 html 파일

<%=%> html 안에 자바스크립트 코드가 들어감

 

 

 

 

서버만들때 기본 코드

const http = require('http') 
const server = http.createServer()

server.listen(8080, function(){
    console.log('8080포트 서버 실행')
})

 

const http = require('http') 

const server = http.createServer(function(req,res){
    res.writeHead(200)
    res.write('<h1>Hello world</h1>') //여기에 다 쓰면 힘드니까 html 파일을 전송함
    res.end('<p>End</p>')
})

server.on('request',function(code){ //요청할때 발생하는 이벤트
    console.log('request 이벤트')
})

server.on('connection', function(code){ //접속할때 발생하는 이벤트
    console.log('connection 이벤트')
})

server.listen(8080, function(){
    console.log('8080포트 서버 실행')
})

http://localhost:8080/로 들어가는 순간 이벤트 발생

 

 

request , connection 차이점 공부하기

 

 

파일 가져올때는

1. 파일가져오는 모듈 가져오고

const fs = require('fs')

 

 

2. readFile로 파일 읽으면 됨 js에 하나하나 입력하기 힘드니깐~!

const http = require('http') 
const fs = require('fs') //파일읽을수있는 모듈 실행

const server = http.createServer(function(req,res){
    // res.writeHead(200)
    // res.write('<h1>Hello world</h1>') //여기에 다 쓰면 힘드니까 html 파일을 전송함
    // res.end('<p>End</p>')

    fs.readFile('./index.html',function(err,data){ //html 파일을 불러온것
        res.writeHead(200)
        res.end(data)
    })
})

server.listen(8080, function(){
    console.log('8080포트 서버 실행')
})

 

node로 파일 열면 수정할때마다 서버 켰다 꺼야되서 귀찮음

 

 

pm2 사용해서 자동으로 변경되게 만들기 nodemon이랑 비슷한 역할

npm install -g pm2
pm2 start 파일이름 --watch

-g 붙으면 노드모듈 생성되지 않음

node 대신 pm2로 server.js 부르면 터미널에 나옴

 

200 : 성공

201 : 작성됨

 

301 : 영구 이동

302 :  임시 이동

304 : 수정되지 않음

 

400 : 잘못된 요청

401 : 인증 과정 거치지 않음 (로그인 에러시 자주 나옴)

403 : 권한이 없음 (인증 - 회원인지 아닌지 체크, 권한은 그 회원의 등급)

404 : 찾을 수 없음

422 : 잘못된 데이터 형식 입력됨

 

500 : 서버 오류

502 : 불량 게이트 웨이

503 : 서비스를 사용할 수 없음

 

폴더에서 git bash 열어서 폴더 만들고 (mkdir)

그 폴더로 들어가서 git init 하면 패키지 package.json 설치됨

 

* pwd 로 지금 내위치(파일 경로) 확인하기, 개발할때 경로 아는 것 매우 중요!

 

 

 

express

 

 

 

npm install express

설치하면 자동으로 노드모듈 설치됨

 

gitignore 안에

/node_modules 넣어서 노드모듈 깃에 업뎃 안되게 하기

 

고정된 상수값은 대문자로 변수 주는게 관례

 

const express = require('express');
const app = express();
const PORT = 8000; //고정된 상수값은 변수값 대문자로 주는게 관례, 포트 번호를 변수에 담은것

app.get('/',function(req,res){
    res.send('hello express')
})

app.listen(PORT, function(){
    console.log(`${PORT}가 열렸습니다. localhost:${PORT}`)
})

require로 express 모듈 가져오기

그전에 pm2로 서버 킨것 pm2 kill 으로 다 삭제

pm2 하나만 끄고 싶으면 pm2 stop 파일이름

pm2 start 파일이름 --watch 으로 서버 재실행

 

 

pm2 명령어

 

 

 

pm2 start index.js // 기본적인 pm2 실행
pm2 start index.js --watch // 프로그램 재시동 자동화 ->nodemon이랑 같아지는건가?
pm2 monit //프로세스 감시
pm2 list //프로세스 목록, 상태 확인 가능
pm2 status //위 list랑 같은것 
pm2 stop 파일이름 or id //pm2 정지 시키는 것
pm2 delete 파일이름 or id // 목록 삭제
pm2 kill // pm2 자체를 종료시켜버림
pm2 log //console.log 보임

 

명령어 길어서 주기 귀찮으면

패키지제이슨 들어가서

입력하면 

npm run start:dev 하면

뒤에 명령이 실행됨

 

 

미들웨어 -static

 

 

서버, 클라이언트의 중간에서 둘을 이어주는 것

static 안에있는 파일들을 가져옴

//localhost:8000/static/image.png
app.use('/static', express.static('public')) //static폴더 안에 있는 이미지파일, css파일 등을 가져옴

 

 

ejs

 

 

npm install ejs

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함