UFO外星人小网站
示例网页
🛸 宇宙奥秘 | 外星人与UFO探索专区
— 探索外星 项目地址
技术栈
前端:纯 HTML/CSS/JS(零依赖)
后端:Cloudflare Pages Functions(边缘计算)
存储:Cloudflare KV(键值存储)
部署:GitHub Actions → Cloudflare Pages(自动部署)
项目结构
├── public/ # 静态文件
│ └── index.html # 主页面
├── functions/ # Cloudflare Pages Functions
│ ├── _data/articles.js # 文章种子数据
│ └── api/
│ ├── articles.js # GET /api/articles
│ ├── articles/[id].js # GET /api/articles/:id
│ └── seed.js # POST /api/seed
├── wrangler.toml # Cloudflare 配置
├── package.json
└── .github/workflows/deploy.yml
部署步骤- Cloudflare 设置
登录 Cloudflare Dashboard
创建 KV 命名空间:Workers & Pages → KV → Create namespace(名称:UFO_ARTICLES)
记下 KV namespace ID,填入 wrangler.toml- GitHub Secrets
在仓库 Settings → Secrets and variables → Actions 中添加:
Secret 说明
CLOUDFLARE_ACCOUNT_ID Cloudflare 账户 ID
CLOUDFLARE_API_TOKEN API Token(需 Pages 部署权限)- 首次部署
推送到 main 分支后,GitHub Actions 会自动部署到 Cloudflare Pages。
- 初始化数据
部署完成后,调用 seed 接口写入文章数据:
curl -X POST https://ufo.zh.kg/api/seed \
-H "Authorization: Bearer YOUR_SEED_KEY"
注意:需要在 Cloudflare Pages 项目设置中添加环境变量 SEED_KEY。API 接口
方法 路径 说明
GET /api/articles 获取文章列表(支持 ?category=xxx 筛选)
GET /api/articles/:id 获取单篇文章详情
POST /api/seed 初始化 KV 数据(需密钥)
本地开发
npm install -g wrangler
wrangler login
wrangler pages dev public --kv=ARTICLES深度爱好者啊,
很好 我们拿烟头烫外星人的事还是被你们知道了
🤔
怎么挂了
404