Node.jsとJavaScriptの学習(4日目)


#4日目2021.06.21

  • すべての学習内容は「生活コード>WEB>WEB 2-Node。js」の授業内容に基づいて整理されている.
  • [カリキュラムのソースコードを確認]
  • [Node.js]


    Not Foundの実装


    root接続を使用すると、アプリケーションは以前のように正常に動作しますが、root接続ではなく他のパスを使用すると、Not foundに戻ります.
    main.js
    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;
        var pathname = url.parse(_url, true).pathname;
        var title = queryData.id;
    
        if(pathname === '/'){
          fs.readFile(`data/${queryData.id}`, 'utf8', function(err, description){
            var template = `
          <!doctype html>
          <html>
          <head>
            <title>WEB1 - ${title}</title>
            <meta charset="utf-8">
          </head>
          <body>
            <h1><a href="/">WEB</a></h1>
            <ul>
              <li><a href="/?id=HTML">HTML</a></li>
              <li><a href="/?id=CSS">CSS</a></li>
              <li><a href="/?id=JavaScript">JavaScript</a></li>
            </ul>
            <h2>${title}</h2>
            <p>${description}</p>
          </body>
          </html>
          `;
          response.writeHead(200);
          response.end(template);
          });
        } else {
          response.writeHead(404);
          response.end('Not found');
        }
        
        
        
     
    });
    app.listen(3000);

    見つからない前にUrlを分析する


    console.log(url.parse(_url, true));url情報を出力しました.

    main.jsでNot found形式のコピーを実行した結果



    条件文を使用したホームの実装


    queryData.idがundefinedの場合、titleはWelcome、descriptionはHello、Nodeです.js出力のためにホームを実装します.
    main.js
    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;
        var pathname = url.parse(_url, true).pathname;
    
        if(pathname === '/'){
          if(queryData.id === undefined){
            fs.readFile(`data/${queryData.id}`, 'utf8', function(err, description){
              var title = 'Welcome';
              var description = 'Hello, Node.js';
              var template = `
            <!doctype html>
            <html>
            <head>
              <title>WEB1 - ${title}</title>
              <meta charset="utf-8">
            </head>
            <body>
              <h1><a href="/">WEB</a></h1>
              <ul>
                <li><a href="/?id=HTML">HTML</a></li>
                <li><a href="/?id=CSS">CSS</a></li>
                <li><a href="/?id=JavaScript">JavaScript</a></li>
              </ul>
              <h2>${title}</h2>
              <p>${description}</p>
            </body>
            </html>
            `;
            response.writeHead(200);
            response.end(template);
            });
          } else {
            fs.readFile(`data/${queryData.id}`, 'utf8', function(err, description){
              var title = queryData.id;
              var template = `
            <!doctype html>
            <html>
            <head>
              <title>WEB1 - ${title}</title>
              <meta charset="utf-8">
            </head>
            <body>
              <h1><a href="/">WEB</a></h1>
              <ul>
                <li><a href="/?id=HTML">HTML</a></li>
                <li><a href="/?id=CSS">CSS</a></li>
                <li><a href="/?id=JavaScript">JavaScript</a></li>
              </ul>
              <h2>${title}</h2>
              <p>${description}</p>
            </body>
            </html>
            `;
            response.writeHead(200);
            response.end(template);
            });
          }
        } else {
          response.writeHead(404);
          response.end('Not found');
        } 
    });
    app.listen(3000);

    main.jsホーム実装の実行結果



    [JavaScript]

  • 複文(while)
    while(ブール){繰り返し実行されるコード}
  • loop.js
    console.log('A');
    console.log('B');
     
    var i = 0;
    while(i < 2){
      console.log('C1');
      console.log('C2');
      i = i + 1;
    }
     
    console.log('D');

    loop.js運転結果


    iが2より小さい0と1の場合はtrueです.trueでは、繰り返し実行されるコードが実行されます.
  • アレイ(Array)
    配列を作成すると、その配列を変更してデータを追加できます.
  • array.js
    var arr = ['A','B','C','D'];
    console.log(arr[1]);
    console.log(arr[3]);
    arr[2] = 3;
    console.log(arr);
    console.log(arr.length);
    arr.push('E');
    console.log(arr);

    array.js運転結果


  • 繰り返し文と配列
  • array-loop.js
    var number = [1,400,12,34];
    var i = 0;
    var total = 0;
    while(i < number.length){
      total = total + number[i];
      i = i + 1;
    }
    console.log(`total : ${total}`);

    array-loop.js運転結果