直接访问郊区而不经过锚点会给Aurelia带来错误

时间:2016-11-16 19:37:51

标签: aurelia aurelia-router aurelia-cli

我在没有经过route-href锚点的情况下直接访问链接有问题。例如,站在页面上并点击刷新,或者复制粘贴浏览器窗口中的链接。

什么有效:

http://localhost:9000/boards

http://localhost:9000/cards

什么不起作用:

http://localhost:9000/boards/1

http://localhost:9000/boards/anysuburl

我得到的错误是:

GET http://localhost:9000/boards/scripts/vendor-bundle.js 404 (Not Found)

如果我从以下位置更改vendor-bundle的路径:

 <script src="scripts/vendor-bundle.js" data-main="aurelia-bootstrapper"></script>

到:

 <script src="/scripts/vendor-bundle.js" data-main="aurelia-bootstrapper"></script>

供应商包已解决,但我在app-bundle.js上收到相同的错误

如何设置路由器:

      configureRouter(config, router) {
config.title = 'Aurelia';
config.options.pushState = true;
config.options.root = '/';
config.map([
  {
    route: ['', 'cards'],
    name: 'cards',
    moduleId: './pages/cards/cards',
    nav: true,
    title: 'Cards',
  },
  {
    route: ['boards'],
    name: 'boards',
    moduleId: './pages/boards/index',
    nav: true,
    title: 'Boards',
  },
  {
    route: ['boards/:id'],
    name: 'board',
    moduleId: './pages/boards/details',
    title: 'Board',
  }

我已尝试过&#39; / pages&#39;,&#39; ./ pages&#39;和&#39;页面&#39;结果相同

1 个答案:

答案 0 :(得分:1)

在html中添加基础标记,如下所示:

<base href="/">