# Static Node.js builds

> Deploy static sites with Node.js build tools, pre-built SPAs, and generated static content served with high-performance Nginx.

Static Node.js builds
---------------------

Deploy pre-built Node.js applications with optimized static file serving through Nginx.

### When to use static mode

Choose static deployment when your application:

- Generates all content at build time
- Doesn't require server-side logic
- Can run entirely in the browser
- Benefits from CDN and caching

### SPA routing configuration

Single-page applications require all routes to serve index.html. Ploi Cloud automatically configures Nginx to handle SPA routing:

- All routes return index.html
- Direct file requests (CSS, JS, images) are served normally
- 404s for missing assets return proper 404 status

### Build output structure

Your build should generate:
```
/var/www/html/
└── index.html
```


### Optimizing static builds

#### Asset optimization
- Enable build-time compression
- Use content hashing for cache busting
- Optimize images and fonts
- Minimize JavaScript bundles

#### Build commands
```bash
# Install dependencies and build
npm ci && npm run build

# With environment check
npm ci && NODE_ENV=production npm run build
```

### Converting from runtime to static

If your Node.js app can work as static:

1. Remove server-side code
2. Build to static files
3. Remove start command in settings
4. Ensure build outputs to correct directory
5. Deploy changes
