This package allows you to build a SPA with Laravel and Nuxt.
npm install laravel-nuxt
Attention! 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 start
Go to http://localhost:8000.
laravel-nuxt dev
Starts both Nuxt and Laravel artisan servers in development mode (hot-code reloading, error reporting, etc).
laravel-nuxt build
Compiles the application for production deployment.
This command will output the compiled assets in public/_nuxt
.
laravel-nuxt build -a
Launch 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.json
package-lock.json
webpack.mix.js