๋ชฉ๋กServer (50)

๐ŸŒฑ → ๐ŸŒณ

[node.js] Front์—์„œ Back์œผ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก

front์˜ form์œผ๋กœ back์—๊ฒŒ ๋ฐ์ดํ„ฐ ๋ณด๋‚ด๊ธฐ form XMLHttpRequest Jquery Fetch() ๐Ÿ“Œ users.ejs์— form ์ถ”๊ฐ€ ๐Ÿ“form action : ๋ณด๋‚ด๊ณ ์ž ํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ method: ๋ณด๋‚ด๋Š” method ์„ค์ •(get, post ๋งŒ ๊ฐ€๋Šฅ) input์˜ name ์†์„ฑ์€ ์„œ๋ฒ„์—์„œ ๋ฐ›์„ ๋•Œ ํ•„๋“œ ๊ฐ’์ด ๋จ ๋ฒ„ํŠผ type์œผ๋กœ submit์„ ํ•˜๋ฉด ํ•ด๋‹น ํผ์˜ ๋‚ด์šฉ์„ ์ง€์ •ํ•œ ๋ฐฉ์‹ + ์ฃผ์†Œ๋กœ ์ „๋‹ฌ ์•„์ด๋”” ์ด๋ฆ„ ์ด๋ฉ”์ผ Submit โœ… body-parser ๋ชจ๋“ˆ ์‚ฌ์šฉ : form์—์„œ ์ „์†ก ๋œ, ์ •๋ณด๋ฅผ req.body์— ๋‹ด์—์„œ obj๋กœ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์—ญํ•  body-parser๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ body์— ๋„ฃ์€ ๋‹ค์Œ, ์ธ์ฝ”๋”ฉ์ฒ˜๋ฆฌ๊นŒ์ง€ ํ•ด์ค˜์•ผํ•จ (body-parser๋Š” ์ž๋™์œผ..

Server/Node.js 2022. 9. 24. 10:50
[node.js] DOTENV, ์ค‘์š” ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ชจ๋“ˆ

๐Ÿ“Œ DOTENV : ์ค‘์š”ํ•œ ์ •๋ณด(์„œ๋ฒ„ ์ ‘์† ์ •๋ณด ๋“ฑ)์„ ์™ธ๋ถ€ ์ฝ”๋“œ์—์„œ ํ™•์ธ์ด ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ๋ชจ๋“ˆ ๐Ÿ“ ์„ค์น˜ npm i dotenv -s ๐Ÿ“ app.js์— ๋ชจ๋“ˆ ํ˜ธ์ถœํ•˜๊ธฐ require('dotenv').config(); ๐Ÿ“ .envํŒŒ์ผ์„ ์ตœ์ƒ๋‹จ ํด๋”์— ๋งŒ๋“ค๊ธฐ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ .env ํŒŒ์ผ์— ์ €์žฅ (PORT, mongoDB URI ๋“ฑ ) ํ•ด๋‹น ์ •๋ณด๊ฐ€ ํ•„์š”ํ•œ ๊ณณ์—์„œ process.env.์ €์žฅ๋ช… ์œผ๋กœ ์‚ฌ์šฉ const uri = process.env.DB_URI; ๐Ÿ“ .env ํŒŒ์ผ์€ ์ค‘์š”ํ•œ ์ •๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— git์— ๋“ฑ๋กํ•˜์ง€ ์•Š์Œ ! (gitignore์— ๋“ฑ๋ก) ๋”ฐ๋ผ์„œ, ํ•ด๋‹น ํŒŒ์ผ์€ ์ง์ ‘ ์—…๋กœ๋“œ ํ•˜๋ฉด์„œ ์‚ฌ์šฉ โœ… ์ฐธ๊ณ , .gitignore์ด ์•ˆ๋ ๋•Œ ! git๋„ ์บ์‰ฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌ์— ํ•ด๋‹น ๋‚ด์šฉ์ด ๋‚จ์•„ ์žˆ..

Server/Node.js 2022. 9. 19. 15:54
[node.js] Express ๊ธฐ๋ณธ ํด๋” ๊ตฌ์กฐ

๐Ÿ“Œ Static : ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ํด๋”์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•ด ์ฃผ๋Š” ์—ญํ•  app.use(express.static('views')); ์œ„์˜ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํด๋” ๊ฒฝ๋กœ์˜ ์‹œ์ž‘์  -> localhost:4000/views ./ ์˜ ์ƒ๋Œ€ ๊ฒฝ๋กœ -> localhost:4000/views/ ์™€ ๋™์ผํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋ณธ ํด๋”๋ฅผ ์„ค์ •ํ•˜๋Š” ๋งŒํผ ๋„ˆ๋ฌด ๋งŽ์€ ํด๋”๋ฅผ ์ •ํ•˜๋Š” ๊ฒƒ์€ ํ”ผํ•˜๋Š” ํŽธ์ด ์ข‹์Œ ๋ณดํ†ต public ์ด๋ผ๋Š” ํด๋”๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •ํ•ด ๋†“๊ณ  ํ•ด๋‹น ํด๋”๋งŒ ์„ค์ • public ํด๋”์˜ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ € ๋“ฑ์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ํด๋”๋กœ์จ ๋ณดํ†ต CSS, ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉํ•˜๋Š” JS, ์ด๋ฏธ์ง€ ๋“ฑ์„ ์œ„์น˜ ๐Ÿ“Œ Express ๊ธฐ๋ณธ ํด๋” ๊ตฌ์กฐ /images = /img /jav..

Server/Node.js 2022. 9. 5. 17:20
middleware๋ž€?

๐Ÿ“Œ middleware๋ž€? (์‚ฌ์ „์ ์˜๋ฏธ) ์„œ๋กœ ๋‹ค๋ฅธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜(ํ”„๋กœ๊ทธ๋žจ)์ด ์„œ๋กœ ํ†ต์‹ ์„ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ฆ‰, ์–‘์ชฝ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ€์šด๋ฐ์—์„œ ์—ญํ• ์„ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด Express: ๋ฒก์—”๋“œ ์„œ๋น„์Šค ๊ตฌ์„ฑ์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ๋งž๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์„œ๋น„์Šค๋ฅผ ๋ฏธ๋“ค์›จ์–ด ํ˜•ํƒœ๋กœ ์ œ๊ณต Express ์—์„œ์˜ ๋ฏธ๋“ค์›จ์–ด๋Š” ์„œ๋ฒ„์— ๋“ค์–ด์˜จ ์š”์ฒญ์ด ๋“ค์–ด์™€์„œ ์‘๋‹ต์œผ๋กœ ๋‚˜๊ฐˆ ๋•Œ ๊นŒ์ง€ ๊ฑฐ์น˜๋Š” ๋ชจ๋“  ํ•จ์ˆ˜ ๋˜๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธ ์š”์ฒญ -> ๋ฏธ๋“ค์›จ์–ด -> ์‘๋‹ต โœ… middleware ์‚ฌ์šฉํ•˜๊ธฐ Express ์—์„œ๋Š” app.use ๋˜๋Š” app.method ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋ฏธ๋“ค์›จ์–ด ์‚ฌ์šฉ ๊ธฐ์กด์— ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜์—ฌ ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ, ์œ„์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ req, res ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ app.use(‘์š”์ฒญ ์ฃผ์†Œ‘, (req, res, next) =>..

Server 2022. 9. 2. 18:00