๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

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.