著者| Jeskson
ソース|ダダフロントエンドビストロ
OLAP Serverの開発
Expressアプリケーションを作成し、Expressのルート、パグビューテンプレートを使用して
エクスプレス説明:
レッツは、アプリケーションExpressを作成し、Expressは、それは非常に強力であり、WebアプリケーションのためのさまざまなツールやHTTPユーザを作成することができ、Node.jsのWebアプリケーションフレームワークであり、あなたが完全に機能するウェブサイトを構築するためにExpressのフレームワークを使用することができます。
利点の枠組みを表現します:
ミドルウェアは、HTTPリクエストに応答するために使用することができ、ルーティングテーブルは、別のHTTP要求を実行するために定義されてもよい動的にパラメータを渡すためにHTMLページのテンプレートをレンダリングすることができます。
コマンドラインインストールExpressのフレーム:
cnpm install express --save
エクスプレスnode_modulesフレームがディレクトリにマウントされ、その後、以下のモジュールをインストールする必要があります。
ボディパーサはミドルウェアがJSON、生、テキスト、URLエンコードされたデータを扱うことができるのNode.js、クッキー、パーサは、解析ミドルウェアクッキーです、そしてクッキーreq.cookiesで上を通過し、回しますオブジェクト。
multerはENCTYPE =「マルチパート/フォームデータ」フォームデータを処理するためのミドルウェアでのNode.js。
cnpm install body-parser --save
cnpm install cookie-parse --save
cnpm install multer --save
さんが明示フレームワークのバージョン番号を見てみましょう:
cnpm list express
最初のインスタンスを作成するためのフレームワークを表現
目標に出力:「こんにちは」という名前:express_demo.jsファイル
// 引入node模块
const express = require('express');
// 创建express程序
const app = express();
// 添加HTTP路由
app.get('/', function(request, response){
// 输出响应消息
response.send('hello express');
});
// 启动HTTP服务器
app.listen(8080, function(){
console.log('express app');
});
プロジェクトの実装:
node express_demo.js
そして、あなたはhttp://127.0.0.1:8080を使用することができます
フレーム要求および応答オブジェクトを表すデータ要求および応答を処理するために使用されます。
app.get('/', function(req,res){
})
要求オブジェクトのHTTPリクエスト
req.app
コールバックのために、コールバックはreq.appアクセスエクスプレスの例を用いて、外部ファイルを機能します
req.baseUrl
現在インストールされているURLパスを取得します。
req.body / req.cookies
得るためには、「リクエストボディを。」
req.hostname / req.ip
名前、IPアドレスを取得します。
req.originalUrl
元の要求のURLを取得
req.params
ルートのパラメータを取得します。
req.path
取得要求パス
req.protocol
プロトコルタイプを取得します。
req.query
取得URLクエリパラメータ
req.route
現在の一致の明示的経路を取得します
req.subdomains
取得サブドメイン
req.accepts()
許容チェック要求されたドキュメントタイプ
req.get()
HTTPリクエストヘッダを取得します
req.is()
Content-Typeヘッダ要求MIMEタイプを分析
に応答したHTTPレスポンスオブジェクト
res.app
コールバックのための、コールバック関数外部ファイル、res.appアクセスエクスプレスの例を用いて
res.append()
追加のHTTPリクエストヘッダを指定します。
res.set()
res.appendをリセットする前にリクエストヘッダ(後に)提供
res.clearCookie()
クリアクッキー
res.download()
ファイル転送のパスを指定します。
res.get()
戻り値指定されたHTTPリクエストヘッダ
res.json()
レスポンスJSONを送信
res.jsonp
送信応答JSONP
res.locationは、()
だけ設けられていないLocationHTTP要求ヘッダーまたは近いレスポンスステータスコードに対応して設けられています。
res.redirect()
LocationHTTPが要求ヘッダーに対する応答を設定し、ステータスコード302を設定します
res.sendは()
HTTP応答を送信します
res.status()は、
HTTPステータスコードを設定します
res.type()
MIMEタイプのセットのContent-Type
ルートを表現
ルート、URI、HTTPリクエストを発現し、ハンドルの複数からなります。
// 引入node模块
const express = require('express');
// 创建express程序
const app = express();
// 添加http路由
app.get('/',function(request,response) {
// 输出响应消息
response.send('hello dashucoding');
});
app.get('/users', function(req,res) {
// req , res
res.send('user');
});
// 启动HTTP服务器
app.listen(8080, function(){
console.lo('express app');
});
GETの
リクエストデータのみを取得するための指定されたリソースの表現
POST
指定されたリソースに提出体のために
HEADの
要求は同じにGET応答が、応答なしのメンバーであります
PUT
現在のすべてのターゲットリソース要求ペイロード表現を交換します
DELETE
指定されたリソースを削除します
CONNECT
ターゲットリソーストンネルで識別されるサーバーを確立します
OPTIONSは、
ターゲット・リソースの通信オプションを記述するために使用されます
PATCHは
、リソースアプリケーションの一部を変更するために使用されます
app.get('/about',function(req,res){
res.send('about');
});
app.get('/ab?cd',function(req,res){
res.send('ab?cd');
}
app.get('/ab(cd)?e',function(req,res){
res.send('ab(cd)?e');
});
ハンドルルーティング要求処理を複数提供するために、コールバック関数、次の(「ルート」)方法
let d1 = function(req,res,next){
console.log('1');
next();
};
let d2 = function(req,res,next){
console.log('2');
next();
});
let d3 = function(req,res,next){
console.log('3');
next();
});
app.get('/', [d1,d2]);
同じルートの次、次(「ルート」)を実行するための次のコールバック関数は次行われます。
// 引入node模块
const express = require('express');
// 创建express程序
const app = express();
// 添加http路由
app.get('/', function(request, response){
// 输出响应消息
response.send('hello');
});
app.get('/users', function(req,res){
res.send('user');
});
// 动态
app.get('/users/id', function(req,res){
let id = req.params.id;
// 返回响应
res.send('id='+id);
});
// 启动HTTP服务器
app.listen(8080,function(){
console.log('expresss app');
});
const express = require('express');
const app = express();
app.get('/', function(request, response){
response.send('hello');
});
app.get('/users',function(req,res){
res.send('users');
});
app.param('id',(req,res,next)=>{
console.log('hello');
if(req.params.id==='1'){
next();
}else{
res.sendStatus(404);
}
});
app.get('/users/:id',(req,res)=>{
res.send('hello');
});
// 启动服务器
app.listen(8080,function(){
console.log('express');
});
パグビューテンプレート
コマンドラインをダウンロード:
npm install pug
パグにpug.compile()コードJavaScript関数。
app.js
const express = require('express');
const app = express();
// 配置视图模板
app.set('view engine', 'pug');
app.set('views', './views');
// 添加HTTP路由
app.get('/', function(request, response){
response.render('index.pug');
// 输出响应消息,加载并解析index.pug文件
});
app.get('/users',function(req,res){
res.render('users.pug',{
title:'user',
users:[
{id:1,name:'张三',age:18}
]
});
});
// 启动HTTP服务器
app.listen(8080,function(){
console.log('express');
});
users.pug:
doctype html
html
head
meta(charset="utf-8")
title #{title}
body
#app
for user in users
div
p id=#{user.id}
p name=#{user.name}
p age=#{user.age}
pug.render()模板函数:
const pug = require('pug');
console.log(pug.renderFile('template.pug',{
name:'dada'
});
pug.renderFile()関数を実行すると、コンパイラが自動的に内部キャッシュ機能に保存されます
❤️DOは学習あなたの足跡を残すことを忘れないで[コメント+ +のように収集ポイント]
情報を著者:
[著者]:Jeskson
[オリジナル]公開番号:ダダフロントエンドビストロ。
[福祉]:自己学習教材をまくるに送信されませ公共返信「情報」(シェアへのグループには何がハを言いたい、私は見ませんでした)!
[予約]説明:ソースを明記してください、ありがとう再現!〜
大規模なテクノロジ・スタックのブログを配置するフロントエンド開発、フロントエンドの開発、PHPの背景知識、ウェブフルスタック技術分野、データ構造とアルゴリズム、およびそう簡単にネットワーク理論を理解するためには、ジュニアパートナーに提示されます。、あなたがサポートして愛の礼儀をありがとうございました!!!
ローカルコンテンツのこの数はビットを取得しない場合(例:著作権やその他の問題に)、タイムリーにすることができ整流のための私達に連絡し、最初の時間に処理されますしてください。
親指アップしてください!あなたが同意しているので/励ましは、私の文章の最大の力です!
ようこそ注意ダダさんCSDN!
これは、品質、態度のブログです