问题描述
有没有一种方法可以将 Laravel Blade 用于多页网站(电子商务)的一部分,而将 Inertia/Vue 用于某些特定页面(例如购物篮和管理页面)?不要在同一页面上混合两者,正如我在其他评论中看到的那样。
第一类是大量静态页面,需要快速加载和强大的 SEO 引用(产品页面和目录)。第二个不需要被索引,但需要大量的用户交互。
我在我的第一个项目中尝试了一些东西,但是当 Inertia 处于活动状态时,我似乎无法调用 Laravel 路由。此外,在 Blade 页面中加载所有 Inertia 和 Vue 也没有任何意义。因此,作为初学者,我想我只需要在 Vue 页面(管理和购物篮)上加载 Inertia + Vue 代码。而且我想还有很多其他问题需要处理。
或者可能废弃 Inertia.js,然后在 Vue 页面上加载 vanilla Vue.js?但这意味着还要加载路由器和数据存储区...
非常感谢您提供有关继续进行的最佳方式的任何想法! E.
解决方法
您可以根据需要混合页面:
1.对于惯性页面。
// View:
<inertia-link href="/dashboard">dashboard</inertia-link>
// Laravel controller:
public function index(Request $request)
{
return Inertia::render('Dashboard/Index',[
'data' => [
// ...
],]);
}
2.刀片页面。
// View:
<a href="/dashboard">dashboard</a>
// Laravel controller:
public function index(Request $request)
{
return view('dashboard.index',]);
}