如何为快递指定捕获或实际捕获[大多数]因此当用户选择实际包含在应用程序包中的页面上的刷新时,GET不会失败。
home.html的
<a href="profile">profile</a>
app.js
config.map([
{ route: ['', 'home'], name: 'home', moduleId: 'home' },
{ route: ['profile'], name: 'profile', moduleId: './profile/profile'}
]);
如果单击配置文件链接,则URL会显示localhost://配置文件,并且页面呈现正确而不执行GET,因为请求的资源已捆绑在初始GET中。但是让我说我使用localhost:// profile刷新页面,然后它为该页面发出服务器GET请求。
如果在服务器上我指定了类似的内容:
app.use('/', express.static(__dirname));
app.use('/profile', express.static(__dirname));
它运作正常。我期待某种类型的捕获所有格式化,所以我不必为捆绑所有路由的应用添加所有可能的路由。类似的东西:
app.use('/*', express.static(__dirname));
然后以下内容为另一个应用程序捕获GET&#c>
app.use('/othercoolapp/*', express.static(__dirname)+'/othercoolapp/');
但它不起作用......
答案 0 :(得分:1)
您遇到的这个问题适用于启用了pushState路由的每个页面应用程序框架和库。
在引导Express服务器的文件中的app.listen
或同等代码行之上,添加如下内容:
app.get('*', function(request, response){
response.sendFile(path.join(__dirname + '/index.html'));
});
一般的想法是,此通用通配符路由将捕获所有URL请求并发送index.html
文件。这允许Aurelia处理自己的路由。