JavaScript 前端框架如何处理路由?



几天前,我尝试在没有框架
的情况下使用纯javascript制作路由系统,但我只能使用哈希来做到这一点

我知道你可以使用history.pushState
但是当我重新加载页面时,浏览器会认为它是一个不同的 URL,并向该新 URL
发送 GET 请求 我还尝试使用服务工作者拦截请求,但这似乎也不起作用

那么,像 Vue/React/Angular 这样的 JavaScript 框架如何在没有哈希的情况下处理路由并设法重定向请求呢?

但是当我重新加载页面时,浏览器会认为它是一个不同的 URL,并向该新 URL 发送 GET 请求

是的。这就是重点。

pushState是一种说"我正在使用JavaScript更改页面"的方式。我将其更改为的状态与您转到此 URL 时获得的状态相同。

这允许书签、搜索引擎和后退/前进工作。

那么,像 Vue/React/Angular 这样的 JavaScript 框架如何在没有哈希的情况下处理路由并设法重定向请求呢?

他们不能,至少不能靠他们自己。您需要服务器上的某些内容才能生成处于正确状态的页面。例如,与您正在使用的前端框架兼容的服务器端渲染框架。

最新更新