Node.js-17-xiaoming

4437 ワード

2018-11-29
Expressフレームワーク
1.Expressフレームワークの 特性.
①HTTPリクエストに応答するミドルウェアを設定できます.②異なるHTTP要求動作を実行するためのルーティングテーブルが定義されている.③テンプレートにパラメータを渡すことでHTMLページを動的にレンダリングできます.
2.ダウンロードとインストール.
gitまたはwindow+R(入力cmd)で:1
cnpm install express

npm install express

実は原理は同じです.QAQ:npm node 。 QAQ:cnpm :npm install -g cnpm --registry=https://registry.npm.taobao.org。
3.まずexpressフレームワークの作成から始めましょう.
eg:expressフレームワークは以下の通りです.
//1.  express
const express=require('express');
//2.      
var server=express();
//3.    
server.listen(2580);

4.次の例では、expressモジュールを導入し、クライアントがリクエストを開始した後、異なるコンテンツに応答します.
//1.  express
const express=require('express');
var server=express();//      
// server.use('     ',  )            

server.use('/a.html',function(req,res){
    // res.write({a:5,b:3});//     
    res.send({a:5,b:3});//     
    res.end();//    
});
server.use('/b.html',function(req,res){
    res.write('123');//     
    res.end();//    
});
// server.use('/',function(req,res){//   
//  res.send('aabbcc');//     
//  res.end();//    
// });
//     
server.listen(8080);

// http.createServer(function(req,res){
//  res.write('aaa');
// })
QAQ: ('/') 。 QAQ: res.write : js, , 。 QAQ: res.send : 。 QAQ: QAQ 。
var http=require('http');
var server=http.createServer(function(request,response){
    console.log('one by one');
    //     
    response.setHeader('Content-Type','text/html;charset=UTF-8');
    switch(request.url){
        case '/1.html':
        response.write('  1.html');
        break;
        case '/2.html':
        response.write('  2.html');
        break;
        default:
        response.write('404');
    }
    response.end();
})
server.listen(2580);
var http=require('http');
var server=http.createServer(function(request,response){
    console.log('one by one');

    switch(request.url){
        case '/1.html':
        response.send('  1.html');
        break;
        case '/2.html':
        response.send('  2.html');
        break;
        default:
        response.send('404');
    }
    response.end();
})
server.listen(2580);

明らかに、2つのプレートの出力の効果は同じですが、前に使った原生jsは、次はフレームの中の構造なので、上記のようにsendを直接使うと、漢字も文字化けしません.
3.ユーザ要求.
ユーザーのリクエスト1 server.getを3つの方法で処理    get方式のみです.②server.post    post方式しかありません.③server.use    post/get方式でもいいです.例として、①②③のxxx.html



    
    


    <form action="http://localhost:2580" method="get">//1.get  
                                                      //2.post 3.use
        <p>
               : <input type="" name="uname"/>
        </p>
        <p>
            <input type="submit" name="" placeholder="  "/>
        </p>
    </form>


</code></pre> 
 <p><strong>eg① js  :</strong></p> 
 <pre><code>const express=require('express');
var server=express();
 server.get('/',function(req,res){
    console.log('get  ')
 });

server.listen(2580);
</code></pre> 
 <p><strong>eg② js  :</strong></p> 
 <pre><code>const express=require('express');
var server=express();
 server.post('/',function(req,res){
    console.log('post  ')
 });

server.listen(2580);
</code></pre> 
 <p><strong>eg③ js  :</strong></p> 
 <pre><code>const express=require('express');
var server=express();
 server.use('/',function(req,res){
    console.log('use  ')
 });

server.listen(2580);
</code></pre> 
 <h6>    :express              。</h6> 
 <p><strong>  :</strong></p> 
 <h5>This things you own end up owning you.</h5> 
</article>
                            </div>
                        </div>