首页 > 解决方案 > 使用 vanilla js 在客户端动态呈现页面

问题描述

假设我有 js 文件和路由器。

// index.js -> / (路由)

主页

// about.js -> /about (路由)

关于页面

  1. 我已经使用历史 API 配置了代码,以便它可以从主页转到 /about。但是,当我直接登陆 localhost:5500/about 时,它给了我 404 错误。有没有办法让它直接登陆 localhost:5500/about,如果它登陆任何其他页面,如 localhost:5500/err,它应该回退到“/”路由。

  2. 另外,如何使用动态路由管理诸如 localhost:5500/about/{user_id} 之类的条件。我找到的所有解决方案都使用服务器来获取页面,但我希望在客户端本身处理路由。

标签: javascriptdomecmascript-6routeshistory

解决方案


并不真地。

浏览器从服务器请求一个 URL。服务器响应一些东西。

理想情况下,这应该是被请求的页面。大量客户端应用程序的良好实现将使用服务器端呈现,以便这是请求的实际页面。(这显然不会发生在客户端。)

不太理想的是,服务器配置为为所有通常为 404 的 URL 提供引导 HTML 文档的应用程序,然后是客户端代码并选择并查看location以确定要呈现的内容。(这同样需要设置服务器来执行此操作)。

更糟糕的是做同样的事情,但是通过使引导 HTML 文档成为 404 错误页面。(再次,需要以这种方式设置服务器,因此会给每个人(包括搜索引擎)404 错误。


推荐阅读