タグ付けされた質問 「middleware」


8
bodyParserは非推奨のExpress 4です
私はExpress 4.0を使用していますが、ボディパーサーがExpressコアから削除されていることを認識しています。推奨される代替品を使用していますが、 body-parser deprecated bodyParser: use individual json/urlencoded middlewares server.js:15:12 body-parser deprecated urlencoded: explicitly specify "extended: true" for extended parsing node_modules/body-parser/index.js:74:29 この想定されるミドルウェアはどこにありますか?または私はこのエラーを受けるべきではありませんか? var express = require('express'); var server = express(); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var passport = require('./config/passport'); var routes = require('./routes'); mongoose.connect('mongodb://localhost/myapp', function(err) { if(err) …

3
Node.js / Express.js-app.routerはどのように機能しますか?
質問する前にapp.router、少なくともミドルウェアを使用しているときに何が起こると思うかについて説明する必要があると思います。ミドルウェアを使用するには、使用する機能はapp.use()です。ミドルウェアの実行中は、次のミドルウェアを使用して呼び出すか、next()ミドルウェアが呼び出されないようにします。つまり、一部のミドルウェアは他のミドルウェアに依存しており、最後の部分のミドルウェアは呼び出されない場合があるため、ミドルウェアを呼び出す順序は重要です。 今日、私は自分のアプリケーションに取り組んでおり、サーバーをバックグラウンドで実行していました。変更を加えてページを更新し、変更をすぐに確認したいと思っていました。具体的には、レイアウトを変更していました。私はそれを動作させることができなかったので、答えを求めてスタックオーバーフローを検索し、この質問を見つけました。それexpress.static()が下にあることを確認するように言っていますrequire('stylus')。しかし、そのOPのコードを見ているとapp.router、ミドルウェアの呼び出しの最後に彼の呼び出しがあることがわかりました。その理由を理解しようとしました。 Express.jsアプリケーション(バージョン3.0.0rc4)を作成したとき、コマンドを使用express app --sessions --css stylusし、app.jsファイルで、app.router上記のexpress.static()とrequire('stylus')呼び出しの両方でコードがセットアップされました。したがって、すでにそのように設定されている場合は、そのままにしておく必要があります。 スタイラスの変更を確認できるようにコードを並べ替えると、次のようになります。 app.configure(function(){ //app.set() calls //app.use() calls //... app.use(app.router); app.use(require('stylus').middleware(__dirname + '/public')); app.use(express.static(__dirname + '/public', {maxAge: 31557600000})); }); app.get('/', routes.index); app.get('/test', function(req, res){ res.send('Test'); }); そのため、最初のステップはapp.router、コードに含めることの重要性を明らかにすることだと判断しました。だから私はそれをコメントアウトし、私のアプリを起動してに移動しました/。それは私のインデックスページをうまく表示しました。うーん、たぶんうまくいきました。ルートファイル(routes.index)からルーティングをエクスポートしたためです。それで次にナビゲートする/testと、画面にTestが表示されました。はは、わかりましたapp.router。何ができるかわかりません。コードに含まれているかどうかにかかわらず、ルーティングは問題ありません。だから私は間違いなく何かを逃しています。 だからここに私の質問があります: 誰かが何をするかapp.router、その重要性、そしてミドルウェア呼び出しのどこに配置するべきかを説明してもらえますか?また、について簡単な説明をいただければ幸いですexpress.static()。私の知る限りでexpress.static()は、私の情報のキャッシュであり、アプリケーションが要求されたページを見つけることができない場合、キャッシュをチェックして、存在するかどうかを確認します。

15
ミドルウェアとは正確には何ですか?
最近ミドルウェアについて多くの人が話しているのを聞いたことがありますが、ミドルウェアの正確な定義は何ですか?ミドルウェアを調べると、たくさんの情報と定義が見つかりますが、これらの情報と定義を読んでいると、ほとんどすべての「ウェア」が何かの真ん中にあるようです。それで、すべてはミドルウェアですか? それともミドルウェアではないウェアの例はありますか?

6
Express.jsのnext()を使用して次のミドルウェアに変数を渡す
さて、私の質問は、最初のミドルウェアから別のミドルウェアに変数を渡したいのですが、これを試してみましたが、「req.somevariable指定されたものが「未定義」である」とありました。 //app.js .. app.get('/someurl/', middleware1, middleware2) ... ////middleware1 ... some conditions ... res.somevariable = variable1; next(); ... ////middleware2 ... some conditions ... variable = req.somevariable; ...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.