Prerequisites
Before building for production, ensure you have:- Node.js installed (version 16.x or higher)
- All dependencies installed via
npm install - Your environment properly configured
Build Scripts
The project includes several build-related scripts defined inpackage.json:
Production Build
Install Dependencies
First, ensure all dependencies are installed:This will also run the
postinstall script which executes nuxt prepare to set up your development environment.Build the Application
Run the build command to create an optimized production build:This command:
- Compiles your Vue components
- Optimizes and minifies JavaScript and CSS
- Generates the
.outputdirectory with your production-ready application - Processes Tailwind CSS styles
- Optimizes images with Nuxt Image
Static Site Generation (SSG)
For static hosting platforms like Netlify, you can generate a fully static version of your site:- Pre-renders all routes at build time
- Creates a
.output/publicdirectory with static HTML files - Optimizes assets for static hosting
- Generates the sitemap automatically
Build Configuration
The build process is configured innuxt.config.ts. Key configurations include:
Site Configuration
Modules
The following modules are processed during build:- @nuxtjs/tailwindcss: Processes and optimizes Tailwind CSS
- nuxt-aos: Adds animation on scroll functionality
- @nuxt/image: Optimizes images automatically
- @nuxtjs/sitemap: Generates sitemap.xml
- @nuxtjs/color-mode: Enables dark/light mode
Route Rules
Output Structure
After building, your.output directory will contain:
Build Optimization Tips
Image Optimization
Nuxt Image automatically optimizes images during build. Use the
<NuxtImg> component for automatic optimization.Code Splitting
Nuxt automatically splits your code into chunks for optimal loading performance.
CSS Purging
Tailwind CSS purges unused styles in production, reducing CSS bundle size.
Tree Shaking
Unused JavaScript code is automatically removed during the build process.
Troubleshooting
Build Fails
If the build fails, try:-
Clear the
.nuxtand.outputdirectories: -
Reinstall dependencies:
-
Run the build again: