webazin / laravel-nuxt
NuxtJS framework integration for Laravel
Requires
- illuminate/support: ^11.0
- laravel/framework: ^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- pedrotroller/php-cs-custom-fixer: ^2.23
- phpmd/phpmd: ^2.8
- phpro/grumphp: ^0.18.0
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-12-01 00:15:57 UTC
README
This package facilitates integrating an SPA built with NuxtJS into an existing Laravel project.
Installation
composer require Webazin/laravel-nuxt
After installation you can publish the config.
php artisan vendor:publish --provider="Webazin\LaravelNuxt\LaravelNuxtServiceProvider"
Setup
The package provides a command for easy installation and integration of a nuxt project.
$ 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
Automatic routing
By default the package automatically adds a route for nuxt pages.
Nuxt::route('/{path?}')->where('path', '.*')->name('nuxt');
This route is named 'nuxt'
and can be used with Laravels route helper.
route('nuxt'); // or route('nuxt', ['path' => 'some/deep/path']);
You can disable/enable automatic routing with the 'routing'
setting in config/nuxt.php
.
Manual Routing
The package provides a simple facade which might be used to register nuxt routes.
Routes will automatically be prefixed with the configured path and a controller will be attached which handles internal redirection to nuxt.
The method returns a Illuminate\Routing\Route
instance and may be used as normal.
In routes/web.php
:
use Webazin\LaravelNuxt\Facades\Nuxt; Nuxt::route('example/route')->name('nuxt.example');