3

この投稿と非常によく似た問題が発生しています: How to use custom route middleware with Sails.js? (ExpressJS)

ルートに関係なく、すべての非 ajax リクエスト (または接頭辞 /api を持つすべてのルート) が同じビューをロードするようにします。その質問で与えられた答えを実装しましたが、未指定のルートに対してポリシーが呼び出されないという問題に遭遇しました。

ポリシーが呼び出されるようにすべてのルートをキャッチすると、すべてのブループリントが上書きされます。

すべての非 API ルートはフロントエンドに送信する必要があるため、ブループリントの後、すべてのルートを最後にキャッチするのが理想的です。

フロント エンドに angularjs を使用しており、angular ですべての非 API ルーティングを処理したいと考えています。

初期ロード時にセッション情報をページに入れる必要があるため、.htaccess ファイルは使用したくありません。

ありがとう

4

1 に答える 1

1

あなたのユース ケースは HTTP 404 エラーの状況に非常に似ているようです。ブループリント (およびおそらくroute.js ) ルートを満たさないすべてのリクエストを同じ方法で処理する必要があります。

api/responses/notFound.jsから:

* NOTE:
* If a request doesn't match any explicit routes (i.e. `config/routes.js`)
* or route blueprints (i.e. "shadow routes", Sails will call `res.notFound()`
* automatically.
*/

リクエスト パスに以下が含まれている場合、適切なビューを呼び出す特別な処理コードをここに含めることができます/api

if (req.path.match('^/api')) {
  return res.view('your-view-here');
}
于 2014-11-11T07:48:53.023 に答える