0

我刚刚开始使用 page.js,这是一个路由库,我打算用它来制作带有把手的单页应用程序。我将使用路由来调用不同的车把模板。到目前为止,此功能正在运行,并且与我希望的一样快。

我目前遇到的问题是刷新页面(按 F5)或复制 URL,然后将其粘贴到新选项卡中会出现 404 not found 错误。它没有调用我在我的应用程序中创建的未找到页面。

下面的代码是一个副本:https ://github.com/visionmedia/page.js/tree/master/examples/notfound

<!DOCTYPE html>
<html>
<head>
  <title>Not Found</title>
  <script src="/page.js"></script>
</head>
<body>
  <h1>Not Found</h1>
  <p></p>
  <ul>
    <li><a href="./">/</a></li>
    <li><a href="./about">/about</a></li>
    <li><a href="./contact">/contact</a></li>
    <li><a href="./not-found">/not-found</a></li>
  </ul>
  <script>
    page.base('/notfound');
    page('/', index);
    page('/about', about);
    page('/contact', contact);
    page('*', notfound);
    page();

    function index() {
      document.querySelector('p')
      .textContent = 'viewing index';
    }

    function about() {
      document.querySelector('p')
      .textContent = 'viewing about';
    }
    function contact() {
      document.querySelector('p')
      .textContent = 'viewing contact';
    }
    function notfound() {
      document.querySelector('p')
      .textContent = 'not found';
    }
  </script>
</body>

当我刷新此页面时,我会看到本地主机的 404 页面。当我使用链接http://127.0.0.1/notfound/about时,我得到了相同的结果。

我的问题是:page.js 是否支持刷新浏览器,或者使用链接访问我的应用程序的特定部分?

看来我真正应该问的问题是:Web 服务器是否可以将所有导航重定向到加载应用程序的页面?答案是肯定的。

刷新浏览器似乎是一种常见的情况。一个可接受的解决方案也是捕获任何刷新尝试,并将它们重定向到主页。使用链接访问我的应用程序的特定部分并不那么重要,但会是一个不错的选择。

4

0 回答 0