我有SPA帆应用程序。我的SPA应用程序的所有路线,首先进入欢迎动作控制器。
'/*' :{
controller : 'Web/welcomeController',
skipAssets : true
}
所有其他路线使用类似api,用于ajax请求。这条路线' / *'仅用于第一个渲染页面。所有其他渲染提供angularjs。在那里,其中一条路线有点参数。
http://localhost:1337/search?lat=40.714545&long=-74.007112
我得到404错误。所有这一切都是由参数skipAsset引起的,它忽略了带有内容点的url。
我需要控制器也跳过资源资源,如image,js等。但是正确处理带有内容点/?lat=40.714545&long=-74.007112
答案 0 :(得分:2)
skipAssets
以忽略查询字符串。但与此同时,您可以使用skipRegex
代替skipAssets
。来自Sails.js docs on custom routes:
如果跳过包含点的每个网址过于宽松,或者您需要 一个完全基于不同标准跳过的路由处理程序, 你可以使用skipRegex。此选项允许您指定常规 表达式或正则表达式数组以匹配请求URL 反对;如果任何匹配成功,则跳过处理程序。 请注意,与使用常规处理程序绑定处理程序的语法不同 表达式,skipRegex需要实际的RegExp对象,而不是字符串。
类似于:
'/*' :{
controller : 'Web/welcomeController',
skipRegex : /^[^?]+\./
}
可能就足够了。