TIL 2021.05.23 [Nodejs]

10021 ワード

Node.js


Node.jsでURLを使用するクエリー



クエリーとは、そのブロック部分を指します.
Node.jsでクエリーに基づいてWebページを動的に起動するにはどうすればいいですか?
実習に生活コードをもたらすコード.
// 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'){
      return response.writeHead(404);
    }
    response.writeHead(200);
    response.end(fs.readFileSync(__dirname + url));
 
});
app.listen(3000);
まず、id値の値を識別することに注意します.jsがどのようにしたのかを明らかにしなければならない.
ここで思いついたキーワードを検索するとquery string in nodejsのはずですが、そこにparseという言葉をつければいいです.
parseという言葉は英語の辞書で「分析」と呼ばれ、様々な検索結果と私の経験から、あるデータを特定の目的に合ったparseに加工するのが一般的だと思います.
だから適当に探せばjsのURL moduleを使用できます.
var url = require('url');
先加require();は、パラメータとして使用されるモジュールを表し、変数urlによって使用される.
ではJSのvarは、対象を含むキャラクターはすべてやるということですか?
ここです。を参照して、HTTPサーバを設定するコードにvar queryData = url.parse(_url, true).query;を追加し、console.log(queryData)でクエリが正しいかどうかを検証し、queryDataがJSON形式でid属性を持っていることを確認したり、入力したクエリリストを確認したりすることができます.
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);
    console.log(_url);
    if(_url == '/'){
      url = '/index.html';
    }
    if(_url == '/favicon.ico'){
      response.writeHead(404);
      response.end();
      return;
    }
    response.writeHead(200);
    response.end(fs.readFileSync(__dirname + url));

});
app.listen(3000);
したがって、queryData.idを使用すると、クエリを取得するためにグループ化することができる.
クエリーの値が2つの場合も、同じ効果が表示されます.

リファレンス
Node.js-URLで入力した値を使用して生活符号化を行う