Configuration
Configure your application for Netlify deployment inresolid.config.ts:
resolid.config.ts
Configuration Options
Set to
"netlify" for Netlify deploymentNode.js runtime version (18, 20, 22, or 24)
Additional files to include in Netlify Functions
Server Setup
Create your server entry file usingcreateHonoNetlifyServer:
src/server.ts
Server Options
Function to configure the Hono server instance with custom middleware
Function returning context object available in React Router loaders and actions
Build Output Structure
The build process generates a.netlify/v1 directory with:
Netlify Configuration
The build automatically generatesconfig.json with:
- Asset caching headers (1 year for immutable assets)
- Function metadata and routing rules
Deployment Steps
Connect repository
Connect your Git repository to Netlify:
- Visit app.netlify.com
- Click Add new site → Import an existing project
- Select your Git provider and repository
Configure build settings
Set the following build settings:
- Build Command:
npm run build - Publish Directory:
build/client - Functions Directory:
.netlify/v1/functions
Environment Variables
Set environment variables in the Netlify dashboard ornetlify.toml:
Automatically set by Netlify
Set to
"true" by Netlify platformNetlify Configuration File
Create anetlify.toml file for additional configuration:
netlify.toml
Netlify CLI Deployment
Deploy using the Netlify CLI:Netlify Functions
The Netlify preset automatically creates optimized functions:- Functions are bundled with only necessary dependencies
- Uses Node File Trace for minimal bundle size
- Configured with path patterns for routing
- Supports static file serving preference
Request Utilities
Netlify provides built-in request utilities through the Netlify context:Client IP Detection
src/server.ts
ip property.
Request ID
src/server.ts
requestId for request tracing.
Request Origin
src/server.ts
Server Bundles
For large applications, split server code into multiple bundles:resolid.config.ts
site.mjs- Main application functionadmin.mjs- Admin section function
Accessing Netlify Context
Access Netlify-specific context in your routes:src/routes/_index.tsx
Performance Optimization
Edge Functions
For ultra-low latency, consider using Netlify Edge Functions instead of regular Functions. Edge Functions run on Deno at the edge, closer to your users.Asset Optimization
Netlify automatically optimizes assets:- Image optimization
- Asset compression
- CDN distribution
- Smart caching headers
Prerendering
Prerender static pages at build time:resolid.config.ts
Monitoring
Monitor your deployment in the Netlify dashboard:- Real-time function logs
- Analytics and insights
- Error tracking
- Performance metrics
- Bandwidth usage
Troubleshooting
Function not found errors
Function not found errors
Verify the Functions Directory is set to
.netlify/v1/functions in your site settings.Build fails with module not found
Build fails with module not found
Ensure all dependencies are in
package.json and ssr.external is configured correctly.Function timeout (10s limit)
Function timeout (10s limit)
Optimize server-side code or consider upgrading to a paid plan with longer timeouts.
Large bundle sizes
Large bundle sizes
Use
serverBundles to split your application into smaller, route-specific functions.