NodeJS構築プロジェクトの簡単な配置とデータベース接続
4848 ワード
NodeJSはexpressフレームを通してプロジェクトを構築する.
主な内容は以下の通りです..exprssモジュール をロードする.アプリケーションを作成する テンプレート処理をロードする 静的ファイルホスト を設定します.データベースモジュールをロードする 処理post要求 Cookie設定 exprssモジュールをロードする
コードブロック文法は標準markdownコードに準拠しています.例えば、は、アプリケーションテンプレートを構成し、現在のテンプレートに使用されるテンプレートエンジン を定義する.定義テンプレート格納ディレクトリ 登録用のテンプレートエンジン テンプレートキャッシュをキャンセルする(開発モードで) は、例えば、ユーザが訪問するurlがpublicで開始されると、直接に対応する_u u_uに戻る.dirname+'/public'下のファイル
body-parserをロードして、postから送られてきたデータを処理します.まず、cookiesモジュール をロードする.は、cookie、set方法(ログイン時) を格納する.クッキー、get方法 を取得する.完備版の例は以下の通りです.
主な内容は以下の通りです.
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、イメージなどの静的ファイル)を設定します.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関連設定var Cookies = require('cookies');
req.cookies = new Cookies(req, res);
// cookie:userInfo
req.cookies.set('userInfo',JSON.stringify({
_id: userInfo._id,
username: userInfo.username
}));
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