Express5 [NodeJS+Express] 13. formํ๊ทธ์์ PUT, DELETE ์์ฒญํ๊ธฐ & MongoDB ์์ ๋ฌธ๋ฒ + form ํ๊ทธ๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉด GET, POST ์์ฒญ๋ง ๊ฐ๋ฅํ๋ค. ํ์ง๋ง PUT, DELETE ๋ฑ์ ํ์ฉํ๋ฉด ๋ ์ข์ API์ ๊ธฐ์ค์ ๋ถํฉํ ์ ์์ ๊ฒ์ด๋ค. ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์! 1. method-override method-override ๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ๋ฉด ๊ฐ๋ฅํ๋ค. ์ค์น npm install method-override import //server.js const methodOverride = require('method-override') app.use(methodOverride('_method')) ์๋ฒํ์ผ ์ต์๋จ์ ์ ์ฝ๋๋ฅผ ์์ฑํด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ถํฐ ํ์ํ ๊ฒ๋ค์ ๊ฐ์ ธ์จ๋ค. 1) form ํ๊ทธ ์์ //edit.ejs ... ?_method=PUT ์ act.. 2023. 10. 15. [NodeJS+Express] 12. ๊ธ ์์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ ์ด๋ฒ์๋ ๊ธ์ ์์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณด์. 0. ๋ค์ด๊ฐ๊ธฐ์ ๊ธ์ ์์ ํ๋ ๊ณผ์ ์ ์์ฝํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค. 1) ๊ธ ๋ง๋ค ์กด์ฌํ๋ ์์ ๋ฒํผ ํด๋ฆญ 2) ์์ ํ์ด์ง์์ ๊ธ ์์ (์์ ๋์ ํ์ด์ง์ ๋ด์ฉ์ด ๊ธฐ์ ๋์ด์์) 3) ์์ ์๋ฃ ๋ฒํผ ๋๋ฅด๋ฉด DB์ ๋ฐ์ดํฐ ์ ์ก ํ ์์ ์๋ฃ ์ด๋ฌํ ๊ณผ์ ์ ๊ฑฐ์ณ ๊ตฌํ์ ํด๋ณด์! 1. ์์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ 1) ์์ ํ์ด์ง (1) ์๋ฒํ์ผ ์ธํ ์์ ํ์ด์ง์ ๋ค์ด๊ฐ๊ฒ ๋๋ฉด ์์ ๋์์ธ ๋ฐ์ดํฐ๊ฐ ๊ธฐ์ ๋์ด์๋ค. //server.js app.get('/edit/:num', async(request, response) => { try { let result = await db.collection('post').findOne({_id : new ObjectId(request.params.. 2023. 10. 15. [NodeJS+Express] 11. URLํ๋ผ๋ฏธํฐ (์์ธํ์ด์ง ๋ง๋ค๊ธฐ) ์ด๋ฒ์๋ URL ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ์ ์ด์ฉํด ์์ธํ์ด์ง๋ฅผ ์ ์ํด๋ณด์. 0. ์์ธํ์ด์ง ํํ ์ง๊ธ๊น์ง๋ ๋ฃจํธ('/')์์ ์ง์ ์ ์ํ๋ ํ์ด์ง๋ค์ ์ ์ํ๋ค๋ฉด ์์ธํ์ด์ง๋ /parent/child/... ์ ํํ์ด๋ค. ์ด๊ฒ์ ์ด์ฉํ๋ฉด url์ ์ผ๊ด์ฑ์ ๋ถ์ฌํ ์ ์๊ณ ์กฐ๊ธ ๋ ๊ฐ๊ฒฐํ๊ฒ ์ฌ์ดํธ๋ฅผ ๊ตฌ์ฑํ ์ ์์ ๊ฒ์ด๋ค. ์์ธํ์ด์ง๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ์ด๋ป๊ฒ ํด์ผํ ๊น? /page/detail1, /page/detail2, ... ์ด๋ ๊ฒ ํ๋์ฉ ๋ง๋ค์ด๋ ๊ฐ๋ฅํ์ง๋ง, ํ์ด์ง ์๋งํผ ๋ง๋ค์ด์ผํ๋ ๊ฒ์ ๋๋ฌด๋๋ ๋นํจ์จ์ ์ด๋ค. ์ด๊ฒ์ ๊ฐํธํ๊ฒ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฟ์์ง๋ง ๊ทธ์ค ํ๋๊ฐ ๋ฐ๋ก URL ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ์ด๋ค. 1. URL ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ ํํ /๋ถ๋ชจurl/:์์url ์์ ๊ฐ์ด /:์์url ์ด URLํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ์ด๋ค. ์ด๋ฅผ.. 2023. 10. 15. [NodeJS+Express] 7. EJS ํ์ผ ๋ด JS๋ฌธ๋ฒ ์ฌ์ฉ & ํ์ผ ๋ด .ejsํ์ผ ์ฝ์ ์ด๋ฒ์๋ ์ ๋ฒ ํฌ์คํธ์ ์ด์ด์ EJS ๋ฌธ๋ฒ์ ๋ํด์ ์ข ๋ ์์๋ณด์! 1. EJS ํ์ผ ๋ด JS๋ฌธ๋ฒ ์ฌ์ฉ ejs ํ์ผ ๋ด์์๋ JS๋ฌธ๋ฒ์ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๋ค! ์ฌ์ฉ๋ฒ ์์ฒ๋ผ ์ผ๋ก JS๊ตฌ๋ฌธ์ ๊ฐ์ธ์ ์ฌ์ฉํ๋ฉด๋๋ค. ์์์ ํจ๊ป ์ดํด๋ณด์. ์์1 Hello ๊ฒฐ๊ณผ1 for๋ฌธ์ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ ํ๊ทธ๋ฅผ ๋ฐ๋ณตํ ๋ ์์ ๊ฐ์ ํ์์ ์ฌ์ฉํ๋ค. ์์2 HELLO!! Hello ๊ฒฐ๊ณผ2 if๋ฌธ๋ ๋ฌธ์ ์์ด ์ ์์๋ํ๋ค! 2. ํ์ผ ๋ด ejs ํ์ผ ์ฝ์ ejsํ์ผ ๋ด์ ๋ค๋ฅธ ejs ํ์ผ์ ๊ฐ์ ธ์์ ๋ถ์ฌ๋ฃ์ ์ ์๋ค. nav๋ฐ ํน์ footer ๋ฑ ํ์ด์ง๋ง๋ค ๊ณ์ํด์ ๋ฐ๋ณต๋๋ ์์๋ค์ ejs ํ์ผ๋ก ๋ฐ๋ก ์์ฑํ ๋ค ๊ทธ ํ์ผ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ผ๋ก ๋ณด๋ค ๊ฐํธํ๊ฒ ๊ตฌํํ ์ ์๋ค. ์ฌ์ฉ๋ฒ server.js์์ ejsํ์ผ์ ๋ฐ์ดํฐ.. 2023. 10. 9. [NodeJS+Express] 1. NodeJS, Express ์ธํ ์ฌ์ ์ ํ์ํ ๊ฒ๋ค - node LTS ๋ฒ์ , ์ฝ๋์๋ํฐ ๋ฑ - ๊ฐ๋จํ Express๋ฅผ ์ด์ฉํ๋ NodeJS ์๋ฒ ์ธํ ์์ 1. ์์ ํ ๋๋ ํ ๋ฆฌ ์์ฑ ํ ํด๋น ๊ฒฝ๋ก ์ ์ 2. js ํ์ผ ์์ฑ ex) server.js 3. ํด๋น ๊ฒฝ๋ก์์ ํฐ๋ฏธ๋ ์คํ ํ package.json ํ์ผ ์์ฑ npm init -y package.json ํ์ผ์ ์์ฑํด์ฃผ๋ ๋ช ๋ น์ด์ด๋ค. ์ด๋ -y ์ต์ ์ default๊ฐ์ผ๋ก ์ค์ ๋ ํ์ผ์ ๋ง๋ค๊ฒ ๋ค๋ ๋ป์ด๋ค. 4. express ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น npm install express express๋ฅผ ์ด์ฉํ์ฌ ์๋ฒ๋ฅผ ๋ง๋ค์ด๋ณด์! 5. ์๋ฒ ์ฝ๋ ์์ฑ const express = require('express') const app = express() //PORT ์ด๊ธฐ app.listen(.. 2023. 9. 22. ์ด์ 1 ๋ค์