์‚ฌ์šฉ์ž ๋„๊ตฌ

์‚ฌ์ดํŠธ ๋„๊ตฌ


wiki:it:dream_of_enc:metaverse:nodejs

์ฐจ์ด

๋ฌธ์„œ์˜ ์„ ํƒํ•œ ๋‘ ํŒ ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ฐจ์ด ๋ณด๊ธฐ๋กœ ๋งํฌ

์–‘์ชฝ ์ด์ „ ํŒ์ด์ „ ํŒ
๋‹ค์Œ ํŒ
์ด์ „ ํŒ
wiki:it:dream_of_enc:metaverse:nodejs [2025/07/29 07:02] โ€“ ๋ฐ”๊นฅ ํŽธ์ง‘ 127.0.0.1wiki:it:dream_of_enc:metaverse:nodejs [2025/07/30 06:43] (ํ˜„์žฌ) โ€“ ๋ฐ”๊นฅ ํŽธ์ง‘ 127.0.0.1
์ค„ 4: ์ค„ 4:
  
 ---- ----
-==== 1. Node.js๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ====+===== 1. Node.js๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? =====
  
 ''Node.js''๋Š” ''JavaScript''๋ฅผ ์„œ๋ฒ„์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ์‹คํ–‰๋˜๋˜ ''JavaScript''๋ฅผ ์„œ๋ฒ„์—์„œ๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ''Node.js''๋Š” ''JavaScript''๋ฅผ ์„œ๋ฒ„์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ์‹คํ–‰๋˜๋˜ ''JavaScript''๋ฅผ ์„œ๋ฒ„์—์„œ๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
์ค„ 15: ์ค„ 15:
  
 ---- ----
-==== 2. ํ”„๋กœ์ ํŠธ ๊ฐœ์š” ====+===== 2. ํ”„๋กœ์ ํŠธ ๊ฐœ์š” =====
  
 ์ด ํ”„๋กœ์ ํŠธ๋Š” ''Node.js''๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ์›น ํŽ˜์ด์ง€๋ฅผ ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋งํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์™€์˜ ์‹ค์‹œ๊ฐ„ ํ†ต์‹  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ''Node.js''๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ์›น ํŽ˜์ด์ง€๋ฅผ ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋งํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์™€์˜ ์‹ค์‹œ๊ฐ„ ํ†ต์‹  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
์ค„ 25: ์ค„ 25:
  
 ---- ----
-==== 3. ์„œ๋ฒ„ ๊ตฌ์กฐ ๋ฐ ์ฃผ์š” ํŒŒ์ผ ====+===== 3. ์„œ๋ฒ„ ๊ตฌ์กฐ ๋ฐ ์ฃผ์š” ํŒŒ์ผ =====
  
 Phaser Baduk Metaverse ํ”„๋กœ์ ํŠธ์˜ ํ•ต์‹ฌ ์„œ๋ฒ„ ํŒŒ์ผ์ธ ''server.js''์˜ ๊ตฌ์กฐ์™€ ๊ฐ ๋ถ€๋ถ„์˜ ์—ญํ• ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Phaser Baduk Metaverse ํ”„๋กœ์ ํŠธ์˜ ํ•ต์‹ฌ ์„œ๋ฒ„ ํŒŒ์ผ์ธ ''server.js''์˜ ๊ตฌ์กฐ์™€ ๊ฐ ๋ถ€๋ถ„์˜ ์—ญํ• ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  
-=== 1) ์ดˆ๊ธฐ ์„ค์ • ๋ฐ ๋ชจ๋“ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ===+==== 1) ์ดˆ๊ธฐ ์„ค์ • ๋ฐ ๋ชจ๋“ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ====
  
 ์„œ๋ฒ„ ๊ตฌ๋™์— ํ•„์š”ํ•œ ๋ชจ๋“ˆ๋“ค์„ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๊ตฌ๋™์— ํ•„์š”ํ•œ ๋ชจ๋“ˆ๋“ค์„ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
์ค„ 46: ์ค„ 46:
   * ''path'' - ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ   * ''path'' - ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ
  
-=== 2) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ===+==== 2) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ====
  
 <file javascript> <file javascript>
์ค„ 59: ์ค„ 59:
   * ''io'' - ''Socket.IO'' ์„œ๋ฒ„ ๊ฐ์ฒด (''HTTP'' ์„œ๋ฒ„์— ์—ฐ๊ฒฐ)   * ''io'' - ''Socket.IO'' ์„œ๋ฒ„ ๊ฐ์ฒด (''HTTP'' ์„œ๋ฒ„์— ์—ฐ๊ฒฐ)
  
-=== 3) ์ •์  ํŒŒ์ผ ์„œ๋น™ ๋ฐ ๋ผ์šฐํŒ… ===+==== 3) ์ •์  ํŒŒ์ผ ์„œ๋น™ ๋ฐ ๋ผ์šฐํŒ… ====
  
 ํด๋ผ์ด์–ธํŠธ(ํ”„๋ก ํŠธ์—”๋“œ)์— ์ œ๊ณต๋  ์ •์  ํŒŒ์ผ(''HTML'', ''CSS'', ''JS'', ์ด๋ฏธ์ง€ ๋“ฑ)์„ ์„ค์ •ํ•˜๊ณ , ๊ธฐ๋ณธ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋ผ์šฐํŠธ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ(ํ”„๋ก ํŠธ์—”๋“œ)์— ์ œ๊ณต๋  ์ •์  ํŒŒ์ผ(''HTML'', ''CSS'', ''JS'', ์ด๋ฏธ์ง€ ๋“ฑ)์„ ์„ค์ •ํ•˜๊ณ , ๊ธฐ๋ณธ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋ผ์šฐํŠธ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
์ค„ 65: ์ค„ 65:
 <file javascript> <file javascript>
 // 'public' ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ์ •์  ํŒŒ์ผ๋“ค์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ œ๊ณต // 'public' ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ์ •์  ํŒŒ์ผ๋“ค์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ œ๊ณต
-app.use(express.static(path.join(__dirname, 'public')));+app.use(express.static(path.join(dirname, 'public')));
  
 // ๋ฃจํŠธ ๊ฒฝ๋กœ('/')๋กœ ์ ‘๊ทผ ์‹œ 'public' ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ 'index.html' ํŒŒ์ผ ์ „์†ก // ๋ฃจํŠธ ๊ฒฝ๋กœ('/')๋กœ ์ ‘๊ทผ ์‹œ 'public' ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ 'index.html' ํŒŒ์ผ ์ „์†ก
 app.get('/', (req, res) => { app.get('/', (req, res) => {
-    res.sendFile(path.join(__dirname, 'public', 'index.html'));+    res.sendFile(path.join(dirname, 'public', 'index.html'));
 }); });
 </file> </file>
์ค„ 75: ์ค„ 75:
 **์„ค๋ช…:** **์„ค๋ช…:**
   * ''express.static()'' - ์ •์  ํŒŒ์ผ์„ ์›น์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.   * ''express.static()'' - ์ •์  ํŒŒ์ผ์„ ์›น์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
-  * ''path.join(__dirname, 'public')'' - ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ''public'' ํด๋” ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.+  * ''path.join(dirname, 'public')'' - ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ''public'' ํด๋” ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.
   * ''app.get('/')'' - ๋ฃจํŠธ ๊ฒฝ๋กœ๋กœ ์ ‘๊ทผํ–ˆ์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.   * ''app.get('/')'' - ๋ฃจํŠธ ๊ฒฝ๋กœ๋กœ ์ ‘๊ทผํ–ˆ์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.
  
-=== 4) Socket.IO ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ===+==== 4) Socket.IO ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ====
  
 ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ๋‹ด๋‹นํ•˜๋Š” ''Socket.IO'' ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ๋‹ด๋‹นํ•˜๋Š” ''Socket.IO'' ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
์ค„ 107: ์ค„ 107:
   * ''socket.on('disconnect')'' - ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์ด ๋Š์–ด์งˆ ๋•Œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.   * ''socket.on('disconnect')'' - ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์ด ๋Š์–ด์งˆ ๋•Œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  
-=== 5) ์„œ๋ฒ„ ํฌํŠธ ์„ค์ • ๋ฐ ์‹คํ–‰ ===+==== 5) ์„œ๋ฒ„ ํฌํŠธ ์„ค์ • ๋ฐ ์‹คํ–‰ ====
  
 ํ™˜๊ฒฝ ๋ณ€์ˆ˜์—์„œ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ๊ธฐ๋ณธ๊ฐ’(3000)์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ์ง€์ •๋œ ํฌํŠธ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜์—์„œ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ๊ธฐ๋ณธ๊ฐ’(3000)์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ์ง€์ •๋œ ํฌํŠธ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์ค„ 129: ์ค„ 129:
  
 ---- ----
-==== 4. ์˜์กด์„ฑ ๊ด€๋ฆฌ (package.json) ====+===== 4. ์˜์กด์„ฑ ๊ด€๋ฆฌ (package.json) =====
  
 ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ •์˜ํ•˜๋Š” ''package.json'' ํŒŒ์ผ์˜ ์ฃผ์š” ๋‚ด์šฉ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ •์˜ํ•˜๋Š” ''package.json'' ํŒŒ์ผ์˜ ์ฃผ์š” ๋‚ด์šฉ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  
-=== 1) ํ”„๋กœ์ ํŠธ ์ •๋ณด ===+==== 1) ํ”„๋กœ์ ํŠธ ์ •๋ณด ====
  
 ^ ํ‚ค ^ ์„ค๋ช… ^ ^ ํ‚ค ^ ์„ค๋ช… ^
์ค„ 141: ์ค„ 141:
 | main | ํ”„๋กœ์ ํŠธ์˜ ์ง„์ž…์  ํŒŒ์ผ (์—ฌ๊ธฐ์„œ๋Š” ''server.js'') | | main | ํ”„๋กœ์ ํŠธ์˜ ์ง„์ž…์  ํŒŒ์ผ (์—ฌ๊ธฐ์„œ๋Š” ''server.js'') |
  
-=== 2) ์Šคํฌ๋ฆฝํŠธ ===+==== 2) ์Šคํฌ๋ฆฝํŠธ ====
  
 ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๋ฅผ ๋‹จ์ถ•ํ•˜์—ฌ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๋ฅผ ๋‹จ์ถ•ํ•˜์—ฌ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
์ค„ 150: ์ค„ 150:
 | pm2 | ''PM2''๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. (ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ์šฉ) | ''pm2 start server.js'' | | pm2 | ''PM2''๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. (ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ์šฉ) | ''pm2 start server.js'' |
  
-=== 3) ์˜์กด์„ฑ ๋ชฉ๋ก ===+==== 3) ์˜์กด์„ฑ ๋ชฉ๋ก ====
  
 ^ ์˜์กด์„ฑ ^ ๋ฒ„์ „ ^ ์„ค๋ช… ^ ^ ์˜์กด์„ฑ ^ ๋ฒ„์ „ ^ ์„ค๋ช… ^
์ค„ 160: ์ค„ 160:
 | express-rate-limit | 6.7.0 | ์š”์ฒญ ์ œํ•œ ๋ฏธ๋“ค์›จ์–ด | | express-rate-limit | 6.7.0 | ์š”์ฒญ ์ œํ•œ ๋ฏธ๋“ค์›จ์–ด |
  
-=== 4) ๊ฐœ๋ฐœ ์˜์กด์„ฑ ๋ชฉ๋ก ===+==== 4) ๊ฐœ๋ฐœ ์˜์กด์„ฑ ๋ชฉ๋ก ====
  
 ^ ์˜์กด์„ฑ ^ ๋ฒ„์ „ ^ ์„ค๋ช… ^ ^ ์˜์กด์„ฑ ^ ๋ฒ„์ „ ^ ์„ค๋ช… ^
์ค„ 168: ์ค„ 168:
  
 ---- ----
-==== 5. ํ™˜๊ฒฝ ์„ค์ • ====+===== 5. ํ™˜๊ฒฝ ์„ค์ • =====
  
-=== 1) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ===+==== 1) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ====
  
 ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ''.env'' ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค: ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ''.env'' ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:
์ค„ 194: ์ค„ 194:
   * ''NODE_ENV'' - ํ˜„์žฌ ํ™˜๊ฒฝ (''development''/''production'')   * ''NODE_ENV'' - ํ˜„์žฌ ํ™˜๊ฒฝ (''development''/''production'')
  
-=== 2) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์‚ฌ์šฉ๋ฒ• ===+==== 2) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์‚ฌ์šฉ๋ฒ• ====
  
 <file javascript> <file javascript>
์ค„ 212: ์ค„ 212:
  
 ---- ----
-==== 6. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ====+===== 6. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ =====
  
 **๊ถŒ์žฅํ•˜๋Š” ํ”„๋กœ์ ํŠธ ํด๋” ๊ตฌ์กฐ:** **๊ถŒ์žฅํ•˜๋Š” ํ”„๋กœ์ ํŠธ ํด๋” ๊ตฌ์กฐ:**
์ค„ 260: ์ค„ 260:
  
 ---- ----
-==== 7. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • ====+===== 7. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • =====
  
-=== 1) Node.js ์„ค์น˜ ===+==== 1) Node.js ์„ค์น˜ ====
  
 **Windows์—์„œ Node.js ์„ค์น˜:** **Windows์—์„œ Node.js ์„ค์น˜:**
์ค„ 273: ์ค„ 273:
 </file> </file>
  
-=== 2) ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™” ===+==== 2) ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™” ====
  
 <file bash> <file bash>
์ค„ 290: ์ค„ 290:
 </file> </file>
  
-=== 3) ๊ธฐ๋ณธ ์„œ๋ฒ„ ํŒŒ์ผ ์ƒ์„ฑ ===+==== 3) ๊ธฐ๋ณธ ์„œ๋ฒ„ ํŒŒ์ผ ์ƒ์„ฑ ====
  
 ''server.js'' ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ธฐ๋ณธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค: ''server.js'' ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ธฐ๋ณธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค:
์ค„ 305: ์ค„ 305:
  
 // ์ •์  ํŒŒ์ผ ์„œ๋น™ // ์ •์  ํŒŒ์ผ ์„œ๋น™
-app.use(express.static(path.join(__dirname, 'public')));+app.use(express.static(path.join(dirname, 'public')));
  
 // ๊ธฐ๋ณธ ๋ผ์šฐํŠธ // ๊ธฐ๋ณธ ๋ผ์šฐํŠธ
 app.get('/', (req, res) => { app.get('/', (req, res) => {
-    res.sendFile(path.join(__dirname, 'public', 'index.html'));+    res.sendFile(path.join(dirname, 'public', 'index.html'));
 }); });
  
์ค„ 328: ์ค„ 328:
 </file> </file>
  
-=== 4) package.json ์Šคํฌ๋ฆฝํŠธ ์„ค์ • ===+==== 4) package.json ์Šคํฌ๋ฆฝํŠธ ์„ค์ • ====
  
 <file json> <file json>
์ค„ 357: ์ค„ 357:
  
 ---- ----
-==== 8. ์„œ๋ฒ„ ์‹คํ–‰ ๋ฐ ํ…Œ์ŠคํŠธ ====+===== 8. ์„œ๋ฒ„ ์‹คํ–‰ ๋ฐ ํ…Œ์ŠคํŠธ =====
  
-=== 1) ๊ฐœ๋ฐœ ๋ชจ๋“œ๋กœ ์„œ๋ฒ„ ์‹คํ–‰ ===+==== 1) ๊ฐœ๋ฐœ ๋ชจ๋“œ๋กœ ์„œ๋ฒ„ ์‹คํ–‰ ====
  
 <file bash> <file bash>
์ค„ 370: ์ค„ 370:
   * ๊ฐœ๋ฐœ ์ค‘์— ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.   * ๊ฐœ๋ฐœ ์ค‘์— ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  
-=== 2) ํ”„๋กœ๋•์…˜ ๋ชจ๋“œ๋กœ ์„œ๋ฒ„ ์‹คํ–‰ ===+==== 2) ํ”„๋กœ๋•์…˜ ๋ชจ๋“œ๋กœ ์„œ๋ฒ„ ์‹คํ–‰ ====
  
 <file bash> <file bash>
์ค„ 381: ์ค„ 381:
   * ์‹ค์ œ ์„œ๋น„์Šค ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.   * ์‹ค์ œ ์„œ๋น„์Šค ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  
-=== 3) ์„œ๋ฒ„ ํ…Œ์ŠคํŠธ ===+==== 3) ์„œ๋ฒ„ ํ…Œ์ŠคํŠธ ====
  
 **๋ธŒ๋ผ์šฐ์ €์—์„œ ํ…Œ์ŠคํŠธ:** **๋ธŒ๋ผ์šฐ์ €์—์„œ ํ…Œ์ŠคํŠธ:**
์ค„ 394: ์ค„ 394:
  
 ---- ----
-==== 9. ๋””๋ฒ„๊น… ๋ฐ ๋กœ๊น… ====+===== 9. ๋””๋ฒ„๊น… ๋ฐ ๋กœ๊น… =====
  
-=== 1) ์ฝ˜์†” ๋กœ๊น… ===+==== 1) ์ฝ˜์†” ๋กœ๊น… ====
  
 <file javascript> <file javascript>
์ค„ 412: ์ค„ 412:
 </file> </file>
  
-=== 2) ๋กœ๊น… ๋ฏธ๋“ค์›จ์–ด ===+==== 2) ๋กœ๊น… ๋ฏธ๋“ค์›จ์–ด ====
  
 <file javascript> <file javascript>
์ค„ 428: ์ค„ 428:
 </file> </file>
  
-=== 3) ๋””๋ฒ„๊น… ๋„๊ตฌ ===+==== 3) ๋””๋ฒ„๊น… ๋„๊ตฌ ====
  
 **Node.js ๋‚ด์žฅ ๋””๋ฒ„๊ฑฐ ์‚ฌ์šฉ:** **Node.js ๋‚ด์žฅ ๋””๋ฒ„๊ฑฐ ์‚ฌ์šฉ:**
์ค„ 437: ์ค„ 437:
 **Chrome DevTools์—์„œ ๋””๋ฒ„๊น…:** **Chrome DevTools์—์„œ ๋””๋ฒ„๊น…:**
   * Chrome ๋ธŒ๋ผ์šฐ์ € ์—ด๊ธฐ   * Chrome ๋ธŒ๋ผ์šฐ์ € ์—ด๊ธฐ
-  * ''chrome://inspect'' ์ ‘์†+  * %%chrome://inspect%% ์ ‘์†
   * "Open dedicated DevTools for Node" ํด๋ฆญ   * "Open dedicated DevTools for Node" ํด๋ฆญ
  
 ---- ----
-==== 10. ์„ฑ๋Šฅ ์ตœ์ ํ™” ====+===== 10. ์„ฑ๋Šฅ ์ตœ์ ํ™” =====
  
-=== 1) ์••์ถ• ์„ค์ • ===+==== 1) ์••์ถ• ์„ค์ • ====
  
 <file javascript> <file javascript>
์ค„ 452: ์ค„ 452:
 </file> </file>
  
-=== 2) ์บ์‹ฑ ์„ค์ • ===+==== 2) ์บ์‹ฑ ์„ค์ • ====
  
 <file javascript> <file javascript>
 // ์ •์  ํŒŒ์ผ ์บ์‹ฑ // ์ •์  ํŒŒ์ผ ์บ์‹ฑ
-app.use(express.static(path.join(__dirname, 'public'), {+app.use(express.static(path.join(dirname, 'public'), {
     maxAge: '1d', // 1์ผ๊ฐ„ ์บ์‹œ     maxAge: '1d', // 1์ผ๊ฐ„ ์บ์‹œ
     etag: true    // ETag ์‚ฌ์šฉ     etag: true    // ETag ์‚ฌ์šฉ
์ค„ 462: ์ค„ 462:
 </file> </file>
  
-=== 3) ์š”์ฒญ ์ œํ•œ ===+==== 3) ์š”์ฒญ ์ œํ•œ ====
  
 <file javascript> <file javascript>
์ค„ 478: ์ค„ 478:
  
 ---- ----
-==== 11. ๋ณด์•ˆ ์„ค์ • ====+===== 11. ๋ณด์•ˆ ์„ค์ • =====
  
-=== 1) Helmet ๋ฏธ๋“ค์›จ์–ด ===+==== 1) Helmet ๋ฏธ๋“ค์›จ์–ด ====
  
 <file javascript> <file javascript>
์ค„ 499: ์ค„ 499:
 </file> </file>
  
-=== 2) CORS ์„ค์ • ===+==== 2) CORS ์„ค์ • ====
  
 <file javascript> <file javascript>
์ค„ 513: ์ค„ 513:
 </file> </file>
  
-=== 3) ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ ===+==== 3) ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ ====
  
 <file javascript> <file javascript>
์ค„ 535: ์ค„ 535:
  
 ---- ----
-==== 12. ๋‹ค์Œ ๋‹จ๊ณ„ ====+===== 12. ๋‹ค์Œ ๋‹จ๊ณ„ =====
  
 ''Node.js'' ๊ธฐ๋ณธ์„ ๋ฐฐ์› ๋‹ค๋ฉด ๋‹ค์Œ์„ ํ•™์Šตํ•ด๋ณด์„ธ์š”: ''Node.js'' ๊ธฐ๋ณธ์„ ๋ฐฐ์› ๋‹ค๋ฉด ๋‹ค์Œ์„ ํ•™์Šตํ•ด๋ณด์„ธ์š”:
์ค„ 553: ์ค„ 553:
 //์ด ํŽ˜์ด์ง€๋Š” ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.// //์ด ํŽ˜์ด์ง€๋Š” ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.//
 --- ---
 +
wiki/it/dream_of_enc/metaverse/nodejs.1753772547.txt.gz ยท ๋งˆ์ง€๋ง‰์œผ๋กœ ์ˆ˜์ •๋จ: ์ €์ž 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki