JavaScript提供pushState
和replaceState
API,用于操纵浏览器URL,从而可以创建无需页面刷新的单页应用程序(SPA)。但是,仅使用这些低级API构建强大的路由逻辑可能很复杂。像React Router这样的库简化了此过程,提供了使用JSX的声明性方法来定义的声明方法。
反应路由器的<switch></switch>
组件通过嵌套<route></route>
组件,根据当前URL渲染第一个匹配路由。这种方法类似于正则表达式匹配,但具有诸如参数化路径段(例如:id
)之类的添加功能。虽然有效,但对外部库的依赖增加了开销。
Web平台正在不断发展。 URLPattern
提供了一种定义和测试URL路由模式的本机方法。它使用类似于正则表达式的语法,但具有用于处理路径段的域特异性扩展。
const p = new urlpattern({ pathname:'/foo/:image.jpg', baseurl:'https://example.com', }); 让结果= p.test('https://example.com/foo/cat.jpg'); // 真的 结果= p.exec('https://imagecdn1.example.com/foo/cat.jpg'); // result.hostname.groups.subdomain将为'imagecdn1' // result.pathname.groups [0]将为'foo' // result.pathname.groups.image将为“猫”
URLPattern
的潜力在于简化没有外部库的水疗路由,从而导致网站较小,更快。它还可以通过提供更有效的潜在机制来使现有的路由库受益。在仍在开发的同时, URLPattern
及其多填充可瞥见Web路由的未来。
此外,在共享元素过渡的复兴中,Web平台对SPA的重新关注是显而易见的,从而增强了导航期间的用户体验。要深入了解URLPattern
,请咨询相关的Google WebDev博客文章。
以上是本机JavaScript路由?的详细内容。更多信息请关注PHP中文网其他相关文章!