我刚刚开始使用page.js,这是一个路由库,我打算用它来制作带有把手的单页应用程序。我将使用这些路线来调用不同的车把模板。到目前为止,这个功能正在发挥作用,并且和我希望的一样快。
我目前遇到一个问题,即刷新页面(按F5)或复制URL,并将其粘贴到新选项卡会给我一个404未找到的错误。它没有调用我在我的应用程序中创建的未找到的页面。
以下代码是: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>
当我刷新此页面时,我会看到我的localhost的404页面。当我使用链接http://127.0.0.1/notfound/about时,我得到相同的结果。
我的问题是:page.js支持刷新浏览器,还是使用链接访问我的应用程序的特定部分?
似乎我应该问的问题是:Web服务器是否可以将所有导航重定向到加载应用程序的页面?答案是肯定的。
似乎刷新浏览器是一种常见的情况。一个可接受的解决方案也是捕获任何刷新尝试,并将它们重定向到主页面。使用链接访问我的应用程序的特定部分并不是那么重要,但会很好。