laravel - 更改InertiaJS-Laravel默认的RootView

标签 laravel inertiajs

我正在使用Laravel 8,并且已经安装了InertiaJS,但是在我的目录resources/views/中,我有一个名为index.blade.php的文件,我打算将其与InertiaJS一起使用。
默认情况下,InertiaJS在该目录中寻找一个名为app.blade.php的文件。我知道写以下语句:\Inertia\Inertia::setRootView('index');更改rootView并允许我使用创建的文件。这似乎是一个愚蠢的问题,但据我所知,我可以做两件事..

  • index.blade.php文件重命名为app.blade.php
  • 在我拥有
  • ServiceProviders中写上一个句子..

    我不知道以下几点:
  • InertiaJS-Laravel不允许使用ServiceProvider命令发布php artisan vendor:publish吗? (此命令的输出未显示任何有关此软件包的要发布的信息)
  • 要解决我的问题,我应该创建一个ServiceProvider,例如:php artisan make:provider InertiaServiceProvider,然后注册它?
  • 还是仅将先前的语句添加到已经存在的ServiceProvider之一中?就像app/Http/Providers/RouteServiceProvider.php

  • 您有什么建议会更好?
    我想在我的项目中寻求最大的组织。提前非常感谢您...

    最佳答案

    更新;在我最初的回答后(2020年9月20日),Inertia introduced middleware处理您的Inertia请求。
    如以下答案中所述,您可以使用命令php artisan inertia:middleware生成此中间件。您可以使用以下方法设置根索引:

    // Set root template via property
    protected $rootView = 'app';
    
    // OR
    // Set root template via method
    public function rootView(Request $request)
    {
        return 'app';
    }
    
    您可以找到更多信息in the docs

    关于laravel - 更改InertiaJS-Laravel默认的RootView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63926485/

    相关文章:

    laravel - 在 Laravel 查询构建器中运行 "exists"查询

    php - (Laravel) 每次数据库发生变化时更新接口(interface)?

    javascript - 错误 [ERR_REQUIRE_ESM] : require() of ES Module while using SSR (Inertiajs)

    html - Tailwind CSS 不必要的空白

    laravel - 错误 : Uncaught (in promise) TypeError: n. swapComponent 不是函数

    vuejs2 - 如何通过laravel 8惯性中的模型访问关系

    php - Laravel 5.2 拆分字符串名字姓氏

    php artisan migrate 卡在命令的开头

    php - Laravel - 尝试使用 self ref FK 从同一表的行中获取信息

    javascript - 如何连接来自 API 的 JSON 响应中的键并在 VUE 组件中显示