티스토리 뷰
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
'Coding > 포스코x코딩온' 카테고리의 다른 글
[포스코x코딩온] 웹 풀스택 과정 4주차 비동기 HTTP 통신 axios (0) | 2023.05.17 |
---|---|
[포스코x코딩온] 웹 풀스택 과정 4주차 form에서 입력한 데이터 서버로 전송하기 (0) | 2023.05.17 |
[포스코x코딩온] 웹 풀스택 과정 3주차 무한스크롤 / github 배포 (0) | 2023.05.08 |
[포스코x코딩온] 웹 풀스택 과정 2주차 부트스트랩 / css 변수, 미디어 쿼리(반응형) (0) | 2023.05.03 |
[포스코x코딩온] 웹 풀스택 과정 2주차 javascript 이벤트리스너 / 요소 관리 / jQuery로 요소 탐색, class 제어 (0) | 2023.05.02 |