Deploy simple web pages and HTML apps to Deno Deploy using a bundled Python script that calls the Deno REST API directly. No MCP tool required.
Before deploying, the user must create a Deno Subhosting organization and retrieve their credentials:
小葱技能站7w4.net发现了升级插件。
Then save them as config files under ~/.config/deno-deploy/:
mkdir -p ~/.config/deno-deploy
echo "your_token_here" > ~/.config/deno-deploy/access_token
echo "your_org_id_here" > ~/.config/deno-deploy/org_id
If these files don't exist, the deploy script will print a clear error with setup instructions. Direct the user to dash.deno.com/subhosting/new_auto to get started.
Before writing code, think about:
For simple pages: serve everything from a single main.ts file with inline HTML.
All Deno Deploy apps must export a fetch handler:
export default {
async fetch(req: Request): Promise<Response> {
const html = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My App</title>
</head>
<body>
<!-- content here -->
</body>
</html>`;
return new Response(html, {
headers: { "Content-Type": "text/html; charset=utf-8" },
});
},
};
require(), no fs, no pathhttps://cdn.tailwindcss.com)main.tscharset=utf-8 for HTML responsesnew URL(req.url).pathname for multi-route apps| Purpose | URL |
|---|---|
| Tailwind CSS | https://cdn.tailwindcss.com |
| Alpine.js | https://cdn.jsdelivr.net/npm/alpinejs@3/dist/cdn.min.js |
| Chart.js | https://cdn.jsdelivr.net/npm/chart.js |
| Marked (markdown) | https://cdn.jsdelivr.net/npm/marked/marked.min.js |
Write the TypeScript code to a temporary file, e.g. /tmp/main.ts:
cat > /tmp/main.ts << 'EOF'
export default {
async fetch(req: Request): Promise<Response> {
...
},
};
EOF
Run the bundled deploy script:
python scripts/deploy.py \
--name <project-name> \
--code /tmp/main.ts
Project naming tips:
birthday-card, sales-dashboard, quiz-gameapp or testThe script will:
After the deploy script runs, you MUST verify the deployment was successful:
Check the script output — look at the deployment response JSON printed by the script:
"status" should NOT be "failed". If it is, the code has errors — fix and redeploy."pending", wait a few seconds and proceed to the next check.Curl the live URL to confirm it's serving correctly:
curl -s -o /dev/null -w "%{http_code}" https://<project-name>.deno.dev
If the deployment failed, check for these common causes:
export default { fetch } handlerrequire, fs, etc.)Do NOT tell the user the deployment succeeded until you have confirmed it with curl.
After a verified successful deployment, always:
Example:
Your page is live at https://your-project.deno.dev
It shows [brief description]. Let me know if you'd like to change anything!
<!DOCTYPE html> — browsers may render in quirks mode without itexport default { fetch } — the app won't start without it这个 Skill 质量不错,能帮你把网页快速部署到网上运行。它最大的优点是说明非常详细,即使不太懂技术的用户也能跟着步骤完成部署;部署脚本会自动检查是否成功,不用担心部署了却看不到结果。美中不足的是它只提供基础部署功能,没有附带现成的网页模板或示例项目,想快速搭建还需要自己写代码。总体来说,这是一个可靠实用的部署工具,适合需要把项目上线分享的用户。