Quick Build
Create a production build with:ng build with the production configuration by default.
Build Output
Builds are output to thewww/ directory as configured in angular.json:
The
www directory is used as the webDir in Capacitor configuration for native builds.Build Configurations
Production Build (Default)
The production build includes:Optimization
Minification and tree-shaking enabled
Output Hashing
Cache-busting filenames
File Replacement
Uses
environment.prod.tsBuild Budgets
Enforced size limits
Build Budgets
The production build enforces the following size limits:angular.json (excerpt)
Development Build
For a development build without optimizations:- Include source maps for debugging
- Skip optimization for faster builds
- Use separate vendor chunks
- Include named chunks for easier debugging
- Do not use output hashing
CI Build
For continuous integration environments:Building for Native Platforms
Capacitor Configuration
The app uses Capacitor 8 for native functionality:capacitor.config.ts
Building for iOS
You need macOS with Xcode installed to build for iOS. Xcode is free from the Mac App Store.
Building for Android
Creating Release Builds
iOS Release Build
Android Release Build
Environment Configuration
The build system automatically replaces environment files:environment.ts is replaced with environment.prod.ts.
Advanced Build Options
Custom Output Path
Base Href
For deploying to a subdirectory:Source Maps
Include source maps in production for debugging:Stats JSON
Generate bundle statistics:Optimization Tips
Reduce Bundle Size
Reduce Bundle Size
- Lazy load routes: Use Angular’s lazy loading for feature modules
- Tree-shake unused code: Ensure imports are specific
- Optimize images: Compress assets in
src/assets/ - Analyze bundle: Use
--stats-jsonto identify large dependencies
Improve Build Performance
Improve Build Performance
- Use incremental builds:
ng build --watchfor development - Increase Node memory:
NODE_OPTIONS=--max_old_space_size=8192 npm run build - Disable source maps: Faster production builds (not recommended for debugging)
- Use build cache: The
.angular/cachedirectory speeds up rebuilds
TailwindCSS Optimization
TailwindCSS Optimization
TailwindCSS is configured to purge unused styles in production:Ensure all template files are included in the
tailwind.config.js
content array.Troubleshooting
Build Errors
Build Errors
Clear build cache and retry:
Capacitor Sync Fails
Capacitor Sync Fails
Ensure web assets are built first:
Memory Issues
Memory Issues
Increase Node.js memory limit:
Next Steps
Testing
Run tests before deploying
Styling
Customize the app’s appearance