m2s / laravel-nuxt
NuxtJS framework integration for Laravel
Installs: 9 924
Dependents: 0
Suggesters: 0
Security: 0
Stars: 20
Watchers: 2
Forks: 10
Open Issues: 10
Requires
- illuminate/support: ^8.0
- laravel/framework: ^8.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
- dev-master
- 1.2.0
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/path-parse-1.0.7
- dev-dependabot/composer/league/flysystem-1.1.4
- dev-dependabot/npm_and_yarn/hosted-git-info-2.8.9
- dev-dependabot/npm_and_yarn/handlebars-4.7.7
- dev-dependabot/composer/laravel/framework-8.40.0
- dev-dependabot/npm_and_yarn/y18n-4.0.1
- dev-dependabot/npm_and_yarn/ini-1.3.8
- dev-feat/nuxt-ssr
This package is auto-updated.
Last update: 2024-12-05 21:08:59 UTC
README
This package facilitates integrating an SPA built with NuxtJS into an existing Laravel project.
Installation
composer require m2s/laravel-nuxt
After installation you can publish the config.
php artisan vendor:publish --provider="M2S\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 M2S\LaravelNuxt\Facades\Nuxt; Nuxt::route('example/route')->name('nuxt.example');