ホームページ > ウェブフロントエンド > jsチュートリアル > NodejsのExpressフレームワークのミドルウェアとapp.useメソッドとapp.getメソッドの解析

NodejsのExpressフレームワークのミドルウェアとapp.useメソッドとapp.getメソッドの解析

不言
リリース: 2018-09-07 17:30:36
オリジナル
6450 人が閲覧しました

この記事の内容は、nodejs の Express フレームワークのミドルウェアと app.use メソッドと app.get メソッドの分析に関するもので、必要な方は参考にしていただければ幸いです。 。 ヘルプ。

ノードを使用してプロジェクトを開発します。Express は一般的に使用されるフレームワークです。以下は、コアの使用ミドルウェアとアプリの使用方法と取得メソッドの紹介です:

ミドルウェアの実装は非常に簡単です:

// 一个简单的中间件
function middleware(req, res, next){
    // req 参数可以接受一些请求的参数(req.query/req.body) 和 请求头信息
    // res 用于响应信息
    // 调用next()方法则进入下一个中间件
}

// 几种常见的调用方式
app.use(middleware);
app.use('/user',middleware); // 匹配部分路径
app.get('/login',middleware);
ログイン後にコピー

次のステップは app.get/use いくつかの使い方:

app.get(path,function); // 接收两个参数 路径 和 一个回调函数
app.use(path,function/router); // 也是接收两个参数 路径和get的区别是第二个可以放回调函数或者router对象

//值得注意的是,path如果忽略,如:app.use(function/router);也是合法的写法,表示匹配所有的路径
ログイン後にコピー

パスと関数の書き方については、次の例:

// get 访问示例会匹配/app和其子集路径,如:http:127.0.0.1:3000/app 以及http:127.0.0.1:3000/app[/aa/bb...等等]都会匹配
app.get('/app',(req, res, next) => {
    //TODO SOMETHING...
});

//use 路由匹配和get方法一样
app.use('/app',(req, res, next) => {
    //TODO SOMETHING...
});

//另一种写法
app.use((req, res, next) => {
    //TODO SOMETHING...
});
ログイン後にコピー

しかし、このような書き方もよく見かけます:

const session = require('express-session');

app.use(session({
    secret: 'test01',
    resave: false,
    saveUninitialized: false
}));
ログイン後にコピー

実際、その背後にある実装はこれも非常に簡単で、class (req, res, next )=>{} 関数を返すと、たとえば次のようになります:

// 实现思路
app.use(myFunction());

function myFunction(){
// 做一些处理
    return (req, res, next) => {
        next();
    }

}
ログイン後にコピー

関連する推奨事項:

get 値と post 値の取得方法とセッション検証を説明する例Nodejs の Express で

以上がNodejsのExpressフレームワークのミドルウェアとapp.useメソッドとapp.getメソッドの解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート