| name | esa-deploy |
| description | Deploys React/Vite applications to Alibaba Cloud ESA Pages. Use when the user needs to deploy frontend applications, manage deployments, configure custom domains, or troubleshoot deployment issues on ESA (Edge Security Acceleration) platform. |
| allowed-tools | Bash(esa-cli:*) |
Alibaba Cloud ESA Pages Deployment
Overview
ESA Pages is Alibaba Cloud's edge computing platform for static site hosting with global CDN acceleration. This skill automates deployment workflows for React/Vite applications.
Prerequisites
- ESA CLI installed:
npm install esa-cli@latest -g
- Alibaba Cloud account with AccessKey configured
- Logged in:
esa-cli login
Quick Start
cd app
npm run build && esa-cli deploy
ESA CLI Commands
Authentication
esa-cli login
esa-cli logout
Deployment
esa-cli deploy
esa-cli deploy ./dist
esa-cli deployments
Project Management
esa-cli init my-project
esa-cli project
esa-cli site
Domain Management
esa-cli domain add your-domain.com
esa-cli domain list
esa-cli domain remove your-domain.com
Route Management
esa-cli route add -r your-domain.com -s <site-name>
esa-cli route list
Local Development
esa-cli dev
esa-cli dev --port 3000
Configuration
esa.jsonc
{
"name": "your-app-name",
"assets": {
"directory": "./dist",
"notFoundStrategy": "singlePageApplication"
},
"dev": {
"port": 18080
}
}
Environment Variables
Production environment variables should be set in .env.local before build:
VITE_SUPABASE_URL=https://xxx.supabase.co
VITE_SUPABASE_ANON_KEY=eyJxxx...
VITE_ENABLE_MSW=false
VITE_LOG_LEVEL=info
Deployment Checklist
Common Issues
"esa.jsonc not found"
Ensure you're in the correct directory containing esa.jsonc:
cd app && esa-cli deploy
"Not logged in"
esa-cli login
Build fails
node -v
rm -rf node_modules && npm install
npm run build
Large bundle warning
Consider code splitting:
export default defineConfig({
build: {
rollupOptions: {
output: {
manualChunks: {
'react-vendor': ['react', 'react-dom'],
'ui-vendor': ['@radix-ui/react-dialog', '@radix-ui/react-dropdown-menu'],
},
},
},
},
});
Deployment Output
After successful deployment:
╔═══════════════════════════════════════════════════════════════════════╗
║ 🚀 Deploy Success ║
║ ║
║ APP your-app-name ║
║ URL https://your-app.xxx.er.aliyun-esa.net ║
║ ║
║ TIP Add a custom domain: esa-cli domain add <DOMAIN> ║
╚═══════════════════════════════════════════════════════════════════════╝
References