Nodeメモ-tips

2917 ワード

一、元の生がurlパラメータを得る二つの方法
var http = require('http');
var url = require('url');
var qs = require('qeurystring');

var server = http.createServer( onRequest ).listen( 3000 );

function onRequest(req, res) {
     var data1 = url.parse(req.url , true).query ;  //    
     var data2 = qs.parse(url.parse(req.url).query) ; //    

      res.writeHead(200);
      res.write('nodeRequest');
      res.end();
}
二、矢印関数が直接返し値を書き出す
var f = function() { return 5 }; 
var f = () => 5;         //         
var sum = function(num1, num2) { return num1 + num2; };
var sum = (num1, num2) => num1 + num2;        //         
三、対象に向けてrequireを利用してコードをロードしますが、exportfとmodule.exportsはコードを導出します。
  • exportsはmodule.exportsを指す参照
  • である。
  • require()はexport
  • ではなくmodule.exportを返します。
    1.モジュール(クラス)を書くロック.js
    function User(name, age) {
        this.name = name;
        this.age = age;
        this.about = function() {
            console.log(this.name + 'is' + this.age + 'years old');
        };
    };
    module.exports = User;
    
    呼び出し
    var Rocker = require('./rocker.js');
    var r = new Rocker('Ozzy', 62);
    r.about();    // Ozzy is 62 yesrs old
    
    引き継ぐ
    var User = requeir('./User');
    function Teacher(name, age){
        User.apply(this, [name,age]);    //     User 
        this.teach = function(res) {
             res.write('      ');
        }
    }
    module.exprots = Teacher;
    
    2.モジュール(配列)を書きます。
    module.exports = ['Lemmy','Ozzy','Ronnie','Steven','Mick'];
    
    呼び出し
    var rocker = require('./rocker.js');
    console.log('Rockin in heaven: ' + rocker[2]);  // Rockin in heaven: Ronnie
    
    
    三、Buffer(データブロック)JS言語自体は文字列データタイプしかなく、バイナリデータタイプがないので、NodeJSはStringと対等なグローバルコンストラクタBufferを提供してバイナリデータの操作を提供しています。
    四、一例モード作成単例類ConPool
    module.exports = (function() {
        //       
        var _value = 1;
    
        //     
        return function() {
            console.log('value=' + _value++);
        }
    })()
    
    導入と使用
    var c = require('./ConnPool');  //      ,    _value
    c();  //   ,      
    
    五、パラメータ付きジャンプ1.url方式でres.redirect('/index?email=aa&pwd=aaa').セッション方式を参照する。
    req.session.rs = rs
    res.redirect('   ');
    //    :
    rs = req.session.rs;
    delete req.session.rs;  //    
    
  • httpリダイレクト状態コード
  • /*
    301:      ,              
    303:   POST  ,          ,         GET     Location  URI
    307:   POST  ,          ,      Loaction  URI    POST  
    301,302 303         ,     test2.php,post    
    307    post   test2.php,        
    */
    
    六、jQuery
    //          
    $(this).find("option:selected").text()
    
    $("#typeid").find("option:selected").text()