cretueusebiu/laravel-nuxt
| Install | |
|---|---|
composer require cretueusebiu/laravel-nuxt |
|
| Latest Version: | 3.0.0 |
| PHP: | ^7.3|^8.0 |
| License: | MIT |
| Last Updated: | May 30, 2021 |
| Links: | GitHub · Packagist |
Laravel-Nuxt
A Laravel-Nuxt starter project template.
Features
- Nuxt 2
- Laravel 8
- SPA or SSR
- Socialite integration
- VueI18n + ESlint + Bootstrap 4 + Font Awesome 5
- Login, register, email verification and password reset
Installation
composer create-project --prefer-dist cretueusebiu/laravel-nuxt- Edit
.envand set your database connection details - (When installed via git clone or download, run
php artisan key:generateandphp artisan jwt:secret) php artisan migratenpm install
Usage
Development
# start Laravel
php artisan serve
# start Nuxt
npm run dev
Access your application at http://localhost:3000.
Production
npm run build
Enable SSR
- Edit
client/nuxt.config.jsand setssr: true - Edit
.envto setAPP_URL=http://api.example.comandCLIENT_URL=http://example.com - Run
npm run buildandnpm run start
Nginx Proxy
For Nginx you can add a proxy using the follwing location block:
server {
location / {
proxy_pass http://http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Process Manager
In production you need a process manager to keep the Node server alive forever:
# install pm2 process manager
npm install -g pm2
# startup script
pm2 startup
# start process
pm2 start npm --name "laravel-nuxt" -- run start
# save process list
pm2 save
# list all processes
pm2 l
After each deploy you'll need to restart the process:
pm2 restart laravel-nuxt
Make sure to read the Nuxt docs.
Socialite
This project comes with GitHub as an example for Laravel Socialite.
To enable the provider create a new GitHub application and use https://example.com/api/oauth/github/callback as the Authorization callback URL.
Edit .env and set GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET with the keys form your GitHub application.
For other providers you may need to set the appropriate keys in config/services.php and redirect url in OAuthController.php.
Email Verification
To enable email verification make sure that your App\User model implements the Illuminate\Contracts\Auth\MustVerifyEmail contract.
Notes
- This project uses router-module, so you have to add the routes manually in
client/router.js. - If you want to separate this in two projects (client and server api), move
package.jsonintoclient/and remove config path option from the scripts section. Also make sure to add the env variables inclient/.env.
Changelog
Please see CHANGELOG for more information what has changed recently.
Related Packages
Pacote Laravel para personificação de usuários compatível com SPA (Jetstream, In...
Reactive Blade templates with Vue, React, Svelte, Angular, or vanilla JavaScript