在 Laravel 项目中集成 Vue.js 的最佳实践是什么:Inertia.js 还是 Laravel UI?

问题描述 投票:0回答:1

我目前正在使用 Laravel 开发一个项目,并且正处于集成 Vue.js 的阶段。我注意到在 Laravel 项目中实现 Vue 的方法有很多种,其中两个主要选项是 Inertia.js 和 Laravel UI。

Inertia.js 似乎是一个有吸引力的解决方案,因为它有助于创建服务器端渲染 (SSR) 应用程序,并且在 Breeze 或 Jetstream 等软件包的帮助下,可以快速进行初始项目设置。另一方面,Laravel UI 还提供了预构建的身份验证层以及与 Vue 配合使用的初始设置。我倾向于 Laravel UI,因为我在早期使用 CDN 在 Laravel 应用程序中实现 Vue 时就对它很熟悉。我喜欢如何调用 Vue 组件,而不会在应用程序使用中消失刀片,从而保持对 Laravel 结构的熟悉。

但是,我想听听社区的经验和建议,了解他们认为这两个选项(或任何其他替代方案)中的哪一个从长远来看更高效、直观和适应性强。在 Inertia.js 和 Laravel UI 之间进行选择时,在性能、可维护性和可扩展性方面我应该考虑哪些方面?我感谢您提供的任何建议或观点来帮助我做出明智的决定。

laravel vue.js breeze inertiajs laravel-ui
1个回答
0
投票

在我看来,如果您将 Laravel 与 Vue 一起使用,然后通过 Blade 视图绕过主要组件,Inertia 提供了一种方便的方法来处理它。它还管理渲染,但据我所知,Inertia 并不是开箱即用的服务器端渲染,您需要为此应用特定的配置。 当您查看响应(通过 useForm 可组合对象生成)时,它会返回 vue 实际渲染组件所需的结构化数据,并在属性中传递信息,从而实现流畅的用户体验。但是,您需要使用它,因为它可以与纯 ajax 请求结合使用。例如,假设您有一个包含用户的分页网格和一个作为名称过滤器的下拉列表,每次更改到网格中的新页面时,可能会再次触发对此下拉列表的调用。当然,在经典方式中,这个调用也会完成,但不是作为 ajax 调用,而是包含在第一个 html 响应中。它提供了更多的方法来优化你的应用程序,在我看来,如果你已经在 Laravel 中使用 vue,我不明白为什么你不能一直实现惯性。

如果性能确实是一个问题,您可能希望拥有单独的应用程序,至少有一个前端和一个后端,并查看哪些服务最常用。然后,您可以实现例如缓存策略、汇总表、查询优化等。

当然,在一个框架或另一个框架之间进行选择不应该是唯一需要担心的事情。您需要了解您期望的用户数量、他们与您的服务器的距离以及您的数据的结构。大多数时候,避免 N+1 问题和良好的缓存实现就可以完成任务,而且借助云,您可以垂直扩展,直到找到更好的性能问题解决方案,

© www.soinside.com 2019 - 2024. All rights reserved.