NodeJS構築プロジェクトの簡単な配置とデータベース接続


NodeJSはexpressフレームを通してプロジェクトを構築する.
主な内容は以下の通りです.
  • .exprssモジュール
  • をロードする.
  • アプリケーションを作成する
  • テンプレート処理をロードする
  • 静的ファイルホスト
  • を設定します.
  • データベースモジュールをロードする
  • 処理post要求
  • Cookie設定
  • exprssモジュールをロードする
    var express = require('express');
    appアプリケーションを作成します.
    コードブロック文法は標準markdownコードに準拠しています.例えば、
    var app = express();
    テンプレート処理モジュールのロード(HTMLなどのテンプレートの処理に使用)
    var swig = require('swig');
  • は、アプリケーションテンプレートを構成し、現在のテンプレートに使用されるテンプレートエンジン
  • を定義する.
    app.engine('html',swig.renderFile); //  :1.       ,        ;2.             
  • 定義テンプレート格納ディレクトリ
  • app.set('views','./views'); //  :        views,      
  • 登録用のテンプレートエンジン
  • app.set('view engine', 'html'); //  :        view engine,      engine       
  • テンプレートキャッシュをキャンセルする(開発モードで)
  • swig.setDefaults({ cache: false });
    静的ファイルトラスト(css、イメージなどの静的ファイル)を設定します.
  • は、例えば、ユーザが訪問するurlがpublicで開始されると、直接に対応する_u u_uに戻る.dirname+'/public'下のファイル
  • app.use('/public',express.static(__dirname + '/public'));
    データベースモジュールの読み込み
    var mongoose = require('mongoose');
    //     
    mongoose.connect('mongodb://username:password@host:port/database?options...',{useMongoClient: true},function(err){
        if(err){
            console.log(err);
        }else{
            console.log('       ');
            //  http  
            app.listen(8081);
        }
    });
    *注意:username、passwordは選択されたデータベースdatabaseに対応するユーザ名とパスワードであり、hostはipアドレス、portはポート番号、optionsはオプションである.
    body-parserをロードして、postから送られてきたデータを処理します.
    var bodyParser = require('body-parser');
    app.use( bodyParser.urlencoded({extended: true}) );
    Cookie関連設定
  • まず、cookiesモジュール
  • をロードする.
    var Cookies = require('cookies');
    req.cookies = new Cookies(req, res);
  • は、cookie、set方法(ログイン時)
  • を格納する.
    //   cookie:userInfo  
    req.cookies.set('userInfo',JSON.stringify({
        _id: userInfo._id,
        username: userInfo.username
    }));
  • クッキー、get方法
  • を取得する.
    req.cookies.get('userInfo')
  • 完備版の例は以下の通りです.
  • 1.  cookie
     app.use( function(req, res, next){
        req.cookies = new Cookies(req, res);
        //      cookie  
        req.userInfo = {};
        if(req.cookies.get('userInfo')){
            try{
                req.userInfo = JSON.parse(req.cookies.get('userInfo'));
            }catch (e){}
        }
        next();
    });
    2.  cookie
     responseData.userInfo = {
        _id: userInfo._id,
        username: userInfo.username
    };
    req.cookies.set('userInfo',JSON.stringify({
        _id: userInfo._id,
        username: userInfo.username
    }));
    
    2018/4/8