개발/node.js

[node.js] CRUD : read 기능 만들기

개발햄 2019. 8. 31. 20:41
fs.readFile('/etc/passwd', (err, data) => { if (err) throw err; console.log(data); });

var http = require('http');

var fs = require('fs');

var url = require('url');

var qs = require('querystring')

function templatHTML(tatle,list,body,data){

return \`
<title>WEB1 - ${tatle}</title>

<meta charset="utf-8">


# [Web](/)


${list}

${data}

${body}

<p>

</p>


\`;

}

function makeFlieList(filelist){

var list = '

';

var i = 0

while (i< filelist.length) {


list = list + \`<li><a href="/?id=${filelist\[i\]}">${filelist\[i\]}</a></li>\`;

i= i + 1;


}

list = list + '

';

return list

};

function makeInfo(tatle,filelist,description,data){

var list = makeFlieList(filelist,description);

var templat = templatHTML(tatle,list,\`

## ${tatle}

${description}\`,data);

return templat;

}

var app = http.createServer(function(request,response){


var \_url = request.url;

var queryData = url.parse(\_url,true).query;

var pathname =  url.parse(\_url,true).pathname;

if(pathname === '/'){

  if(queryData.id === undefined){

      fs.readdir('./data',function( error,filelist){

        var templat = makeInfo('welcome',filelist,'hello node.js','<a href="/create">create</a>');

        response.writeHead(200);

        response.end(templat);

      })

  }else{

    fs.readdir('./data',function( error,filelist){

      fs.readFile(\`data/${queryData.id}\`,'utf8',function(err,description){

        var tatle = queryData.id;

        var templat = makeInfo(tatle,filelist,description,

          \`<a href="/create">create</a>

           <a href="/update?id=${tatle}">update</a>

           <form action="/delete\_process" method="post">

            <input type="hidden" name="id" value ="${tatle}">

            <input type="submit" value = "delete">

           </form>

        \`);

        response.writeHead(200);

        response.end(templat);

      });

  });

}


}