A Laravel-Nuxt starter project template.
- Nuxt 2.8
- Laravel 5.8
- SPA or SSR
- Socialite integration
- VueI18n + ESlint + Bootstrap 4 + Font Awesome 5
- Login, register, email verification and password reset
composer create-project --prefer-dist cretueusebiu/laravel-nuxt- Edit
.envto set your database connection details andAPP_URL(the url to your Laravel application) - (When installed via git clone or download, run
php artisan key:generateandphp artisan jwt:secret) php artisan migratenpm install
npm run devIf you want to enable server side rendering follow the next steps:
- Remove
mode: 'spa'and'~plugins/nuxt-client-init'fromclient/nuxt.config.js - Add
API_URL=http://api.example.com/apiandCLIENT_URL=http://example.comin your.env - Run
npm run buildandnpm run start
Make sure to read the Nuxt docs.
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; } } 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 lAfter each deploy you'll need to restart the process:
pm2 restart laravel-nuxt - 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.
Please see CHANGELOG for more information what has changed recently.
