我在配置Aurelia路由时遇到类似layer1/layer2的路径而不仅仅是layer1。 这里(下DIST的文件被自动创建基于文件src文件夹下)Aurelia路由配置问题
dist
| - home
| - home.html
| - home.js
| - user
| - register.html
| - register.js
app.html
app.js
main.js
src
| - home
| - home.html
| - home.js
| - user
| - register.html
| - register.js
app.html
app.js
main.js
当我做下面的,它只是正常工作的项目文件结构:
app.html
<template>
<div>
<a href="user">register user</a>
<a href="otherlink">otherlink</a>
</div>
<div class='main'>
<router-view></router-view>
</div>
</template>
app.js
this.router.configure(config => {
config.title = 'demo';
config.options.pushState = true;
config.map([
// home routes
{ route: ['','home'], moduleId: './home/home', nav: true, title:'Home' },
// User register
{ route: ['user'], moduleId: './user/register', nav: true, title:'Register User'}
]);
});
但是,当我从用户到用户更改路径/注册像下面,它不再起作用
app.html
<template>
<div>
<a href="user/register">register user</a>
<a href="otherlink">otherlink</a>
</div>
<div class='main'>
<router-view></router-view>
</div>
</template>
app.js
this.router.configure(config => {
config.title = 'demo';
config.options.pushState = true;
config.map([
// home routes
{ route: ['','home'], moduleId: './home/home', nav: true, title:'Home' },
// User register
{ route: ['user/register'], moduleId: './user/register', nav: true, title:'Register User'}
]);
});
中和铬调试器,我看到这个错误:
GET http://localhost:9000/用户 /距离/用户/ register.html 404(Not Found)
请注意,不知怎的,一个额外的用户被添加到URL,导致无法找到register.html文件。再说一次,当我使用用户作为路由时,它工作正常,没有任何错误,但是当我从用户更改为用户/注册时,它不再工作。
有人请让我知道为什么会发生这种情况,以及如何解决它?
感谢您的回复。但是,这并没有奏效。我们添加了** config.options.pushState = true **从网址中删除#号,所以http:// localhost:9000/user可以在没有#的情况下访问。但是由于某种原因,即使路由设置为** user/register **,我们也无法使http:// localhost:9000/user/register正常工作。 – 2015-03-25 01:36:10