Skip to main content
Building your frontend creates optimized, production-ready files that Mizu serves efficiently.

Build Process

Using Makefile

This runs:
  1. cd frontend && npm run build - Builds frontend
  2. go build -o ./bin/server cmd/server/main.go - Builds Go binary with embedded frontend

Manual Build

What Happens During Build

1. Frontend Build (Vite)

Process:
  • Transpiles TypeScript to JavaScript
  • Bundles modules together
  • Minifies JavaScript and CSS
  • Optimizes images
  • Adds content hashes to filenames
  • Generates source maps
  • Creates build manifest
Output:

2. Go Build with Embed

The Go compiler:
  • Embeds dist/ into the binary
  • Creates self-contained executable
  • No external dependencies needed

Build Configuration

Vite Configuration

Environment Variables

Build Optimization

1. Code Splitting

Split code into smaller chunks:

2. Tree Shaking

Import only what you need:

3. Minification

Vite minifies automatically:

4. Asset Optimization

Multi-Environment Builds

Environment Files

Build Scripts

Build Analysis

Bundle Size

Visualize Bundle

Run build and open stats.html to see bundle composition.

CI/CD Integration

GitHub Actions

Troubleshooting

Build Fails

Large Bundle Size

  1. Check bundle analysis
  2. Enable code splitting
  3. Use dynamic imports
  4. Remove unused dependencies

Missing Assets

Ensure assets are in public/ or imported in code:

Next Steps

Deployment

Deploy your application

Production

Production optimization

Caching

Caching strategies