Sails.js正则表达式路由

Mat*_*ick 6 javascript node.js backbone.js sails.js

我正在构建一个简单的sails.js项目并使用主干实现前端.

理想情况下,我想要一条路由到我的骨干应用程序所在的一个索引页面.

'/*': {
    view: 'home/index'
}
Run Code Online (Sandbox Code Playgroud)

这很棒,所以现在任何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'
Run Code Online (Sandbox Code Playgroud)

但这对我没有任何意义.如何忽略带有文件扩展名的路由.

我还使用'api'为我的所有CRUD url添加了前缀,localhost:1337/api/controller/因此也需要一个排除转发的正则路由.我无法找到任何有关如何在任何地方执行此操作的信息.

我必须在这里遗漏一些基本的东西.

谢谢!

Len*_*nny 8

您可以使用skipAssets和skipRegex标志.这不会踩到你的静态资产,也不会阻止以/ api开头的api url.我在html5Mode中使用了sails.js和angular.

  "get *":{
    controller:"PagesController",
    action:"index",
    skipAssets: true,
    skipRegex: /^\/api\/.*$/
  }
Run Code Online (Sandbox Code Playgroud)