ID:
PW:

     0 ºÐ
     9 ºÐ

¿£Áö´Ï¾î µ¹Á¾
  dolljong
ÇÁ·Î±×·¡¹Ö Tips
ÇÁ·Î±×·¡¹Ö¿¡ °üÇÑ TipÀ» °øÀ¯ÇÏ´Â °÷ÀÔ´Ï´Ù.


[Nodejs]nodejs¼³Ä¡¿Í ù ½ÇÇà
À̼®Á¾  2020-05-30 17:47:22, Á¶È¸ : 1,003, Ãßõ : 187
- Download #1 : [resize]Image.png (59.3 KB), Download : 11


Evernote Export
  • node.js console ³¡³»±â : ctrl-c µÎ¹ø | ctrl-d | .exit

200530

ÀÌ ±ÛÀº »ýȰÄÚµùÀÇ web2 nodejs °­ÁÂÀÇ ¾ÕºÎºÐÀ» º¸°í ÅØ½ºÆ®·Î Á¤¸®ÇÑ °ÍÀÔ´Ï´Ù.
»ýȰÄÚµù¿¡´Â ÄÚµù¿¡ °üÇÑ ¸¹Àº °­ÁµéÀÌ ÀÖ½À´Ï´Ù.

node.js´Â javasript¸¦ ¼­¹ö¿¡¼­¿¡µµ µ¹¾Æ°¡µµ·Ï ¸¸µç °ÍÀÔ´Ï´Ù. ÀÚ¹Ù½ºÅ©¸³´Â ¿ø·¡ À¥ºê¶ó¿ìÀú¿¡¼­¸¸ µ¹¾Æ°¡µµ·Ï ¸¸µé¾îÁø ¾ð¾î¿´½À´Ï´Ù.
ÇÏÁö¸¸ ¼­¹ö¿¡¼­µµ »ç¿ë°¡´ÉÇÑ ¾ð¾î·Î µÇ¾ú½À´Ï´Ù. À¥¼­¹ö»ó¿¡¼­ »ç¿ëµÈ ¾ð´õ´Â php, java(javascript¿Í ´Ù¸§), pythonµîÀÇ ¾ð¾îµéÀÌ ÀÖ¾ú½À´Ï´Ù. ÇÏÁö¸¸ ¾îÂ÷ÇÇ À¥Àº ºê¶ó¿ìÀú·Î Á¢¼ÓÇϱ⠶§¹®¿¡ »çÀÌÆ®¸¦ ¸¸µé¶§´Â javascript¸¦ ¾µ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. Áö±Ý±îÁö´Â ¼­¹öÃø ¾ð¾î¿Í ºê¶ó¿ìÀú¿ë ¾ð¾î 2°¡Áö¸¦ »ç¿ëÇØ¾ßÇßÁö¸¸ ÀÌÁ¦´Â ÇϳªÀÇ ¾ð¾î·Î 󸮰¡ °¡´ÉÇÏ°Ô µÈ °ÍÀÔ´Ï´Ù.

  • node.js¼³Ä¡Çϱâ
http://nodejs.org ¿¡¼­ ´Ù¿î·Îµå ¹Þ¾Æ nodejs¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • nodejs command prompt½ÇÇà
nodejs¸¦ ¼³Ä¡ÇÑ ÈÄ nodejs¸¦ ½ÇÇàÇÏ´Â ¹æ¹ýÀº command prompt¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. À©µµ¿ìÀÇ ¿ÞÂÊ ¾Æ·¡ °Ë»öâ¿¡ node¸¦ ÀÔ·ÂÇÏ¸é ¾Æ·¡¿Í °°ÀÌ nodejs¸¦ ½ÇÇà½Ãų ¼ö ÀÖ½À´Ï´Ù.

  • main.jsÆÄÀÏ ¸¸µé±â 
ÀÚ½ÅÀÌ ¿øÇÏ´Â Æú´õ¿¡ ¾Æ·¡¿Í °°Àº ³»¿ëÀ¸·Î main.jsÆÄÀÏÀ» ¸¸µì´Ï´Ù. text¿¡µðÅ͸¦ »ç¿ëÇÏ¸é µË´Ï´Ù. nodejs´Â js·Î ¸¸µç ¼Ò½ºÄڵ带 ½ÇÇàÇØ¼­ À¥¼­¹ö¸¦ µ¹¸®´Â °³³äÀÔ´Ï´Ù. ¾Æ·¡ÀÇ ³»¿ëÀº À¥¼­¹ö¸¦ ½ÃÀÛÇϴµ¥ Æ÷Æ® 3000À¸·Î ½ÃÀÛÇÒ °ÍÀ̰í index.htmlÀÌ ÀÖÀ¸¸é index.htmlÀ» ºê¶ó¿ìÀú¿¡ º¸¿©ÁÖ¶ó´Â ¶æÀÔ´Ï´Ù. 

main.js
var http = require('http');
var fs = require('fs');
var app = http.createServer(function(request,response){
    var url = request.url;
    if(url == '/'){
      url = '/index.html';
    }
    if(url == '/favicon.ico'){
      response.writeHead(404);
      response.end();
      return;
    }
    response.writeHead(200);
    console.log(__dirname + url);
    response.end(fs.readFileSync(__dirname + url));
});
app.listen(3000);

  • main.js½ÇÇàÇϱâ
command»óÅ¿¡¼­ node main.js·Î ÀÌ ¼Ò½ºÄڵ带 ½ÇÇàÇϵµ·Ï ÇÕ´Ï´Ù. Àú´Â d:µå¶óÀ̺êÀÇ dev\nodejs\¹æ¿¡ mani.js°¡ ÀÖ½À´Ï´Ù. node¸í·ÉÀ¸·Î main.js¸¦ ½ÇÇà½ÃŰ¸é ¾Æ¹« Àϵµ ¹ú¾îÁöÁö ¾Ê½À´Ï´Ù. À¥¼­ºñ½º¸¦ »çÀÛÇßÀ» »ÓÀ̱⠶§¹®ÀÔ´Ï´Ù.
D:\dev\nodejs>node main.js
ÀÌÁ¦ À¥ºê¶ó¿ìÀú¸¦ ½ÇÇà½Ã۰í ÁÖ¼Òâ¿¡ localhost:3000À» ÀÔ·ÂÇÕ´Ï´Ù. ¾ÆÁ÷ index.htmlÆÄÀÏÀÌ ¾ø±â ¶§¹®¿¡ ¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÔ´Ï´Ù.
´ë½Å main.js Äڵ忡¼­ console¿¡ urlÀ» Ãâ·ÂÇϵµ·Ï Ç߱⠶§¹®¿¡ cmdâ¿¡ d:\dev\nodejs\index.htmlÀ̶ó´Â ³»¿ëÀÌ Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù. 

ÀÌÁ¦ index.htmlÀ» ¸¸µé Â÷·ÊÀÔ´Ï´Ù. ¾Æ·¡ÀÇ ³»¿ëÀ¸·Î index.htmlÆÄÀÏÀ» ¸¸µì´Ï´Ù.
index.html
<html>
<body>
test page
</body>
</html>
ÀÌÁ¦ cmdâ¿¡¼­ node main.js·Î ¼­¹ö¸¦ ÀÛµ¿½Ãŵ´Ï´Ù. ±×¸®°í ºê¶ó¿ìÀú ÁÖ¼Òâ¿¡ localhost:3000À» ÀÔ·ÂÇÕ´Ï´Ù. ±×·¯¸é index.htmlÆÄÀÏÀÇ ³»¿ëÀÌ ºê¶ó¿ìÀú¿¡ º¸À̰í cmd¿¡´Â urlÀÌ Ãâ·ÂµË´Ï´Ù. main.jsÀÇ     console.log(__dirname + url);°¡ ÀÛµ¿ÇÑ °á°úÀÔ´Ï´Ù.

 


  • querystring ó¸®
- ÀÌÁ¦ »ç¿ëÀÚ°¡ ¼³Á¤ÇÑ °ªÀ» ÀÌ¿ëÇØ¼­ ´Ù¸£°Ô ÀÛµ¿ÇÏ´Â À¥ÆäÀÌÁö¸¦ ¸¸µé¾îº¼ Â÷·ÊÀÔ´Ï´Ù. ÁÖ¼ÒâÀÇ µÞÂÊ¿¡ ?ºÙ¿©¼­ °ªÀ» Àü´ÞÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ÀÌ ¶§ ?µÚ¿¡ ½áÁÖ´Â °ÍÀ» querystringÀ̶ó°í ÇÕ´Ï´Ù. ¿ì¼± Äڵ忡 querystring parse¸¦ À§ÇØ require('rul')Ãß°¡ÇÕ´Ï´Ù. nodejs¿¡¼­µµ ¾î¶² ±â´ÉÀ» »ç¿ëÇϱâ À§Çؼ­´Â ÇØ´ç package¸¦ ºÒ·¯¿Í¾ß ÇÕ´Ï´Ù. package¸¦ ºÒ·¯¿À´Â ¸í·ÉÀº requireÀÔ´Ï´Ù. 

- ¸¶Áö¸·ÁÙ¿¡ ºê¶ó¿ìÀú¿¡ »ç¿ëÀÚ°¡ ÁÖ¼Òâ µÚ¿¡ ÀÔ·ÂÇÑ id°ªÀ» Ãâ·ÂÇϵµ·ÏÇÏ´Â ±¸¹®À» Ãß°¡ÇÕ´Ï´Ù.  response.end(queryData.id) <-- ºê¶ó¿ìÀú¿¡ querystringÁß id°ª Ãâ·Â
-- ¾Æ·¡ Äڵ带 ½ÇÇàÇϸé console°ú ºê¶ó¿ìÀú¿¡ qeuryData.id°¡ Ãâ·ÂµÈ´Ù. ºê¶ó¿ìÀú¿¡¼­ localhost:3000/?id=java¶ó°í ÀÔ·ÂÇ߱⠶§¹®¿¡ response.end(queryData.id)¸í·É¿¡ ÀÇÇØ¼­ 'java'°¡ Ãâ·ÂµÇ¾ú½À´Ï´Ù.
 
  

var http = require('http');
var fs = require('fs');
var url = require('url');


var app = http.createServer(function(request,response){
    var _url = request.url;
    var queryData = url.parse(_url, true).query;
    console.log(queryData.id);
    if(_url == '/'){
      _url = '/index.html';
    }
    if(_url == '/favicon.ico'){
      response.writeHead(404);
      response.end();
      return;
    }
    response.writeHead(200);
    console.log(__dirname + _url);
//    response.end(fs.readFileSync(__dirname + _url));
    response.end(queryData.id);
});
app.listen(3000);

  • template »ç¿ë (µ¿Àû À¥ÆäÀÌÁö ¸¸µé±â)
querystringÀ¸·Î ¹ÞÀº °ªÀ» template¸¦ ÀÌ¿ëÇØ¼­ web¿¡ ¹Ý¿µÇÒ ¼ö ÀÖ´Ù.
` `À» ÀÌ¿ëÇØ¼­ template¿¡ À¥¿¡ Ãâ·ÂÇϰíÀÚ ÇÏ´Â ³»¿ëÀ» ¼³Á¤ÇÑ´Ù. querystringÀ¸·Î ºÎÅÍ ¹ÞÀº °ªÀ» ¹Ý¿µÇϱâ À§ÇØ ${ }¾È¿¡ º¯¼ö¸íÀ» ³ÖÀ¸¸é µÈ´Ù. ¾Æ·¡ÀÇ Äڵ带 ½ÇÇàÇÏ¸é ºê¶ó¿ìÀú¿¡ ¾Æ·¡¿Í °°ÀÌ Ãâ·ÂµÈ´Ù.


var http = require('http');
var fs = require('fs');
var url = require('url');


var app = http.createServer(function(request,response){
    var _url = request.url;
    var queryData = url.parse(_url, true).query;
    console.log(queryData.id);
    if(_url == '/'){
      _url = '/index.html';
    }
    if(_url == '/favicon.ico'){
      response.writeHead(404);
      response.end();
      return;
    }
    response.writeHead(200);
    console.log(__dirname + _url);
    var template = `
    <!doctype html>
    <html>
      <body>
        <p>value from ${queryData.id}</p>
      </body>
    </html>
    `
//    response.end(fs.readFileSync(__dirname + _url));
    response.end(template);
});
app.listen(3000);




  ÃßõÇÏ±â   ¸ñ·Ïº¸±â

Copyright 1999-2023 Zeroboard / skin by zero
±¸Á¶¼³°èÀÇ ¹Ì·¡¸¦ ÁغñÇÏ´Â ¸ðÀÓ [±¸Á¶¼³°è¹Ì·¡Æ÷·³]