SammyJS航线没有/#/

时间:2013-12-29 18:29:17

标签: javascript node.js sammy.js

我正在使用sammyJS和node.js创建一个应用程序。问题是:根据文档,我可以在路径的开头(/#/myroute/)放置#或不。我的所有应用程序都是用尖锐的方式构建的,现在我想为路由添加参数(:arg0),除非我在开​​头添加#,否则我不能。这是'丑陋',最糟糕的是,我必须重构所有的应用程序。

 self.get(/\/browse\/(.*)/, function(context) {}); // Get 404 when accessing /browse/date
 self.get(/\#\/browse\/(.*)/, function(context) {}); // Works when accessing #/browse/date

那么为什么我必须把#和有一种方法来删除它。

1 个答案:

答案 0 :(得分:0)

这也是您的节点服务器必须支持的内容:当Sammy应用程序已经处于活动状态时,当用户导航到/browse/something时,Sammy将只能处理URL中的更改,但是当它不是时(用于例如,您正在重新加载页面或直接在浏览器中打开它)请求由Node处理,它需要知道如何处理这些请求。

如果您使用的是Express,则可能会有如下路线:

app.get('/browse/', ...);

尝试将其更改为:

app.get('/browse/*', ...);