6

シンプルな Sails.js プロジェクトを構築し、フロントエンドをバックボーンで実装しています。

理想的には、バックボーン アプリが提供される 1 つのインデックス ページへの単一のルートが必要です。

'/*': {
    view: 'home/index'
}

これは素晴らしいので、どの URL でもホームページにアクセスできるようになりました。現在を除いて、アセット (.js、.css、.html、.jpg) へのすべてのルートは機能しなくなりました。

このコメントは次の場所で確認できますconfig.routes.js

// NOTE:
// You'll still want to allow requests through to the static assets,
// so we need to set up this route to ignore URLs that have a trailing ".":
// (e.g. your javascript, CSS, and image files)
'get /*(^.*)': 'UserController.profile'

しかし、それは私には意味がありません。ファイル拡張子を持つルートを無視するにはどうすればよいですか。

また、すべての CRUD URL の前に「api」を付けlocalhost:1337/api/controller/たので、それらの転送を除外する正規表現ルートも必要になります。これを行う方法に関する情報はどこにもありません。

ここで何か基本的なことが欠けているに違いありません。

ありがとう!

4

2 に答える 2

9

skipAssets および skipRegex フラグを使用できます。これは静的アセットを踏まず、/api で始まる API URL をブロックしません。これは、sails.js と angular で html5Mode で使用します。

  "get *":{
    controller:"PagesController",
    action:"index",
    skipAssets: true,
    skipRegex: /^\/api\/.*$/
  }
于 2015-02-11T10:47:36.663 に答える