Inertia.js 是什么,如何工作的

藏宝库编辑 2024-10-7 01:52:46 51 0 来自 中国
Inertia.js

Inertia是为开辟团队和独立开辟者筹划的,这些职员通常使用Laravel,Ruby on Rails或Django等框架构建服务器端渲染的应用步调。他们一样平常通过创建控制器,从数据库中获取数据,然后数据通报给模板,然后出现视图。
使用 Inertia,您可以像使用所选的服务器端 Web 框架一样构建应用步调。您可以使用框架的现有功能举行路由、控制器、中心件、身份验证、授权、数据获取等。
但是,Inertia 会更换应用步调的视图层。应用步调返回的视图不是通过 blade 模板使用服务器端出现,而是 JavaScript 页面组件。这答应您使用 React、Vue 或 Svelte 构建整个前端,同时仍旧享受 Laravel 或其它语言服务器端框架的功能。
正如您所料,简朴地在 JavaScript 中创建前端并不能为您提供单页应用步调体验。如果单击链接,浏览器将举行整页访问,这将导致客户端框架在后续页面加载时重新启动。这就是惯性改变齐备的地方。
工作原理

Inertia 的核心本质上是一个客户端路由库。它答应您在不欺压重新加载整个页面的情况下举行页面访问。这是使用组件完成的,组件是围绕平常锚链接的轻量级包装器。当您单击“Inertia ”链接时,“Inertia ”会拦截该单击,并改为通过 XHR 举行访问。您乃至可以使用 在 JavaScript 中以编程方式举行这些访问。
当 Inertia 举行 XHR 访问时,服务器检测到它是 Inertia 访问并返回,而不是返回完备的 HTML 相应,而是返回包罗 JavaScript 页面组件名称和数据 (props) 的 JSON 相应。然后,Inertia 将前一页组件动态互换为新页面组件,并更新浏览器的汗青纪录状态。
代码示例
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-12-4 16:12, Processed in 0.192442 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表