OLAP Serverの開発

ファイル

著者| 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!

これは、品質、態度のブログです

フロントエンド技術スタック

おすすめ

転載: www.cnblogs.com/dashucoding/p/12052399.html