2016-08-23 12 views
0

私はカスタムミドルウェア(express-useragent)を追加しようとしました。私はこれをhttp:jsのミドルウェアオブジェクトに入れます:SailsJSではデフォルトのミドルウェアの注文設定がデフォルトでコメントアウトされているのはなぜですか?

useragent: require('express-useragent').express() 

しかし、それはうまくいきませんでした。私はorder配列のコメントを解除する必要があり、'$custom'のエントリがその配列にある場合はどこでも私のカスタムミドルウェアが実行されることを読んだ。私はこれをしましたが、私のカスタムミドルウェアは依然として呼び出されませんでした。それから私はこのように、私のミドルウェアとの'myRequestLogger'を置き換える:

order: [ 
     'startRequestTimer', 
     'cookieParser', 
     'session', 
     'useragent', //'myRequestLogger', 
     'bodyParser', 
     'handleBodyParserError', 
     'compress', 
     'methodOverride', 
     'poweredBy', 
     '$custom', 
     'router', 
     'www', 
     'favicon', 
     '404', 
     '500' 
    ], 

を、今では動作しますが、これは私が使うべき正しい順序であれば、私はわかりません。注文配列がコメントアウトされている理由はありますか?なぜカスタムミドルウェアをオブジェクトに追加した後に機能しないのですか?それは非常に混乱しています。

答えて

0

帆の設定でコメントアウトされているものはすべて実際にはデフォルトです。私は彼らがそうすることを決めたと思うので、どの部分が変更されているのか分かりやすいです...

2番目の質問については、私が知っている限り、注文配列に追加してミドルウェア使用すべきです。結局のところ、注文は違いを生む。 Sailsは先頭から開始され、各要求に対して次の1つのミドルウェアレイヤーを処理します。

関連する問題