我正在使用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
那么为什么我必须把#和有一种方法来删除它。
答案 0 :(得分:0)
这也是您的节点服务器必须支持的内容:当Sammy应用程序已经处于活动状态时,当用户导航到/browse/something
时,Sammy将只能处理URL中的更改,但是当它不是时(用于例如,您正在重新加载页面或直接在浏览器中打开它)请求由Node处理,它需要知道如何处理这些请求。
如果您使用的是Express,则可能会有如下路线:
app.get('/browse/', ...);
尝试将其更改为:
app.get('/browse/*', ...);