我在配置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