laravel-nuxt was created to offer some sugar when working locally with Laravel+Nuxt, solving some cookie problems in the process. Today, it isn't necessary anymore.
We recommend using Laravel Sanctum, which plays nicely with SPAs (see Sanctum's SPA Authentication section). If you can't migrate, just keep using laravel-nuxt.
This package allows you to build a SPA with Laravel and Nuxt.
I'm currently very busy so don't expect updates anytime soon. Please, check out m2sd/nuxt-laravel which is based on this repository but it's more active.
npm install laravel-nuxtAttention! You must install the laravel-nuxt PHP package first.
Optionally, you will want to get rid of the default Laravel scaffolding.
Add a script to your package.json like this:
{
"scripts": {
"start": "laravel-nuxt"
},
}
Wrap you nuxt.config.js's export with laravelNuxt:
const laravelNuxt = require("laravel-nuxt");
module.exports = laravelNuxt({
// Your Nuxt options here...
modules: [],
plugins: [],
// Options such as mode, srcDir and generate.dir are already handled for you.
});Populate resources/nuxt/pages/index.vue inside your project:
<template>
<h1>Hello {{ name }}!</h1>
</template>
<script>
export default {
data: () => {
return { name: 'world' };
},
};
</script>And then run:
npm startGo to http://localhost:8000.
laravel-nuxt devStarts both Nuxt and Laravel artisan servers in development mode (hot-module reloading, error reporting, etc).
laravel-nuxt buildCompiles the application for production deployment.
This command will output the compiled assets in public/_nuxt.
laravel-nuxt build -aLaunch webpack-bundle-analyzer to optimize your bundles.
The default Laravel installation comes with some frontend files which are not needed anymore.
You can remove the following files and directories:
resources/assets/package.jsonpackage-lock.jsonwebpack.mix.js