webazin/laravel-nuxt

Laravel集成NuxtJS框架

dev-master 2024-07-01 09:29 UTC

This package is auto-updated.

Last update: 2024-10-01 00:23:17 UTC


README

此包便于将使用NuxtJS构建的SPA集成到现有的Laravel项目中。

安装

composer require Webazin/laravel-nuxt

安装后,您可以发布配置。

php artisan vendor:publish --provider="Webazin\LaravelNuxt\LaravelNuxtServiceProvider"

设置

该包提供了一个命令,用于轻松安装和集成Nuxt项目。

$ php artisan nuxt:install -h
Description:
  Create a new nuxt project or setup integration of an existing one

Usage:
  nuxt:install [options] [--] [<source>]

Arguments:
  source                 Root folder of the nuxt application [default: "resources/nuxt"]

Options:
  -y, --yarn             Use yarn package manager
  -t, --typescript       Use typescript runtime
  -c, --cache[=CACHE]    Optional caching endpoint (e.g. /api/cache)
  -p, --prefix[=PREFIX]  Prefix for the nuxt application (will use value from `config('nuxt.prefix')` if omitted)
      --no-export        Do not export env variable on build
  -h, --help             Display this help message
  -q, --quiet            Do not output any message
  -V, --version          Display this application version
      --ansi             Force ANSI output
      --no-ansi          Disable ANSI output
  -n, --no-interaction   Do not ask any interactive question
      --env[=ENV]        The environment the command should run under
  -v|vv|vvv, --verbose   Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

自动路由

默认情况下,该包自动添加Nuxt页面的路由。

Nuxt::route('/{path?}')>where('path', '.*')>name('nuxt');

此路由命名为 'nuxt',可以使用Laravel的路由助手使用。

route('nuxt');

// or

route('nuxt', ['path' => 'some/deep/path']);

您可以通过 config/nuxt.php 中的 'routing' 设置来禁用/启用自动路由。

手动路由

该包提供了一个简单的门面,可能用于注册Nuxt路由。
路由将自动添加配置的路径前缀,并附加一个控制器来处理对Nuxt的内部重定向。
此方法返回一个 Illuminate\Routing\Route 实例,可正常使用。

routes/web.php

use Webazin\LaravelNuxt\Facades\Nuxt;

Nuxt::route('example/route')->name('nuxt.example');