我正在构建一个简单的sails.js项目并使用主干实现前端.
理想情况下,我想要一条路由到我的骨干应用程序所在的一个索引页面.
'/*': { 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 /这样一个正则表达式路由来排除转发那些也是必需的.我无法找到任何有关如何在任何地方执行此操作的信息.
我必须在这里遗漏一些基本的东西.
谢谢!
解决方法
您可以使用skipAssets和skipRegex标志.这不会踩到你的静态资产,也不会阻止以/ api开头的api url.我在html5Mode中使用了sails.js和angular.
"get *":{ controller:"PagesController",action:"index",skipAssets: true,skipRegex: /^\/api\/.*$/ }