Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SammyJS路线没有/#/_Javascript_Node.js_Sammy.js - Fatal编程技术网

Javascript SammyJS路线没有/#/

Javascript SammyJS路线没有/#/,javascript,node.js,sammy.js,Javascript,Node.js,Sammy.js,我正在使用sammyJS和node.js制作一个应用程序。问题是:根据文档,我可以在路由的开始处添加#或不添加(/#/myroute/)。我所有的应用程序都是用sharp构建的,现在我想给路由添加参数(:arg0),除非我在开始添加#。这是“丑陋的”,最糟糕的是,我必须重构所有的应用程序 self.get(/\/browse\/(.*)/, function(context) {}); // Get 404 when accessing /browse/date self.get(/\#\/

我正在使用sammyJS和node.js制作一个应用程序。问题是:根据文档,我可以在路由的开始处添加#或不添加(
/#/myroute/
)。我所有的应用程序都是用sharp构建的,现在我想给路由添加参数(
:arg0
),除非我在开始添加#。这是“丑陋的”,最糟糕的是,我必须重构所有的应用程序

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

因此,为什么我必须把它放在这里?有没有办法将其删除。

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

如果您使用的是Express,您的路线可能如下所示:

app.get('/browse/', ...);
尝试将其更改为:

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