まずミドルウェアは、あなたがnodejsは、これらのモジュールをインストールしたフォルダ内のファイルindex.jsを入力する必要があるなしに内側にミドルウェアの導入に関連するindex.js、、、インストールコマンドを作成します。NPM特急急行静的クッキーcookie-をインストール読み取られるセッションボディパーサーmulter mysqlの、およびWWWフォルダとビューのフォルダを作成し、その他すべてのcss.js.imgを置くのwwwフォルダには、テンプレートEJSをレンダリングするために委任すべてのフォルダを閲覧します
; =必要CONST(「エクスプレス」)を発現// フレーム CONST = expressStaticザ必要(「エクスプレス静的」); // 指定された静的原稿読取パス CONST =クッキー(「クッキー」)を必要とする; // 解析クッキーデータ CONST cookieSessionを(「クッキーセッション」)=必要; // セッションベースのCookieデータがますrequest.sessionを作るに保存されている のconst = bodyParser必要(「bodyParser」); // request.bodyに保存された解析データポスト のconst consolite = ( "consolite")を必要とします。// テンプレートアダプタ のconst multer =必要( "multer"); // ファイルアップロード ; constのMySQLは( "MySQLの")が必要です= // データベース
のconst DB = mysql.createPool({//データベースを構築接続プール
のホストを'localhostの」、//ホストアドレス
名前:「ルート」、//データベース・アカウントの
パスワード:「q791469353」//データベースのパスワード
データベース:データベースの「officialwebsite」//名
});
// サーバを設定し、ポートを聞く最初のステップ、 VARのApp = ;エクスプレスを() app.listen( 8080); // リスニングポート8080 // 第二の工程と、指定したパスを読み込むための静的ドキュメント app.use(expressStaticを( ' ./www「)); // ここですべての静的./wwwでファイルを読み取る指定 // セッションの初期化の第三工程 app.use(cookieParser(」asdhkjを「)); // 解析クッキーデータ VaRのアレイ= []; // セッションを暗号化するためのランダムに生成された配列 のために(VARの I = 0; I ++; I 1000 < {) ;のArray.push(Math.random()) } app.user(cookieSession({ :名「セッションの名前を" 、 キー:アレイ、// キーは、セッション暗号化された文字を表明しました MAXAGE:60. 5×1000 *の@ ミリ秒単位で、セッションの有効時間を配置 })); // request.bodyに格納されたデータに対する第四工程、ポスト解析パス、データ・フレームを保存する明示GETメソッドrequest.queryで app.use(bodyParser.urlencoded({拡張:falseに})); // 第五工程、ファイルアップロードデータ解析 app.use(multer({DEST: "パスファイルを保存アップロード"}) .ANY()); // 任意の()は、任意のタイプのアップロードファイルを受信する方法を表す // 第6工程を、テンプレートが適合 app.set( ' 『ビュー・エンジン』、 『テキスト/ HTMLを』); //テンプレートを適応しましたエンジンは、HTMLファイルとして認識されます (「ビュー」、「./ app.setビュー」); // ビューのフォルダにテンプレートを指定して、テンプレートの終わりとしてEJSに以下のフォルダ、その構文:<%JSコード%> JSコードの実行ではなく、出力を表し、<%= JSコード%>は実行コードを出力するJSを表し、<% - JSコード%>はエスケープコードが出力JSであることを示し、<%「他のテンプレートパスを」含む%が>表しますコードのセクションは、テンプレートにテンプレートに導入 app.engine(「HTML」、consolite.ejs) 。//使用EJSテンプレートエンジンは=
//これらは、実行する要求に対処するために、次のビルドされたアプリケーションをデプロイしています
app.get(「/」、(リクエスト 、レスポンス)=> {//がアクセスlocalhostを表す:レスポンス/時間を作るために8080を、要求が応答データをブラウザに応答してサーバを示す、ブラウザによって送信されたデータを示す
response.render ( "index.ejs"、{}) ; // レンダリングインデックス、EJSテンプレート、及びオブジェクトに送信が空のテンプレートで表す
});
app.get( "/ sign_in"、(リクエスト、レスポンス)=> {
VAR名前= request.query.name; //を介して送信されるデータの取得方法得る
フィールド= $ {名前} '、(XXXテーブルから*( `SELECT db.queryを ERR、データ)=> {// データベースに問い合わせ``:SQL文のパラメータは、$ {変数}は、文字列は、抗二重引用符である必要があり、文字列内の変数を使用することを示し
、エラーが発生した場合は、//、オブジェクトerrが空ではない、そうでない場合は空のオブジェクト、そして、で検出されたデータのデータ
ERR(ERR)のIFスロー;
他{
res.renderは(「サインin.ejsを」、{データ:データ}); //データにテンプレートデータを見つけること
}
});
});
app.post( '/アップサイン'、(リクエスト、レスポンス)=> {
VARポスト= request.body; //データの上にポストパスを取得する
場合(ポスト。名前== XX){
response.send( 'XXX'); //コードが成功した後、コールバックメソッドのAJAXへの関数呼び出しは、遠位パスパラメータ
};
app.get( '/テスト'、(要求、応答、次へ)=> {//へ試験、例えば、テンプレートtest.ejsをレンダリング)(次のメソッドと
IF(request.query.name ==「XXXX」){
次の(); //次のリクエストと同じ機能を実行
}
app.get(「/試験」 (リクエスト、レスポンス)=> {
レンダリング( '/ test.ejs'、{});
});
});
});