Cloudflare Workers + KV Mock API 部署踩坑总结

Cloudflare Workers + KV Mock API 部署踩坑总结 1. 环境变量 DB_JSON 超过 5.1KB 限制 问题:直接用 wrangler secret put DB_JSON < db.json 注入大文件时报错:Text binding ‘DB_JSON’ is too large。 解决:改用 Cloudflare KV 存储大数据,Worker 运行时从 KV 读取。 2. wrangler.toml 配置格式错误 问题:[[kv_namespaces]] 下写了 name、type、account_id 等字段,导致 warning。 解决:[[kv_namespaces]] 下只保留 binding 和 id,其他字段放到文件顶层。 3. 写入 KV 时命令格式错误 问题:用 wrangler kv:key put 或 wrangler kv:namespace create 等老版本命令,或参数顺序、语法不对。 解决:新版 wrangler 用空格分隔,如: 创建命名空间:wrangler kv namespace create DB 写入数据:wrangler kv key put --binding=DB DB_JSON "$(Get-Content -Raw db....

2025-08-05 · 1 min

Cloudflare Workers + Vue 项目部署全流程踩坑复盘

Cloudflare Workers + Vue 项目部署全流程踩坑复盘 1. 目标与环境 Vue3 + Vite + TypeScript + TailwindCSS mock API(json-server 数据)支持 多平台自动化部署(GitHub Pages、Deno Deploy、Cloudflare Workers) 统一 API base 配置,环境变量区分开发/生产 2. CI/CD 文件与平台 .github/workflows/ci-cd.yml:GitHub Pages 自动部署,含 base 路径 patch .github/workflows/deno-deploy.yml:Deno Deploy 自动部署,支持静态+mock API .github/workflows/cloudflare-pages.yml:Cloudflare Pages 部署(后期未用) .github/workflows/cloudflare-workers.yml:Cloudflare Workers 自动部署,mock API 支持 3. 主要问题与解决办法 3.1 wrangler.toml 配置与 secrets 注入 问题:wrangler.toml 里 account_id = "${{ secrets.CF_ACCOUNT_ID }}" 只有 wrangler-action@v4+ 支持,v3 需写死账号ID。 解决:升级 wrangler-action 到 v3,配合 wrangler 4.x,支持 secrets 注入。 3....

2025-08-05 · 2 min

Cloudflare Workers + Vue 项目部署踩坑与解决方案总结

Cloudflare Workers + Vue 项目部署踩坑与解决方案总结 1. CI/CD 及多环境部署目标 需求:Vue3 + Vite 项目,支持 GitHub Actions 自动部署到 Cloudflare Workers,mock API(json-server 数据)可用,静态资源与 API 一体化。 2. 主要问题与解决办法 2.1 wrangler.toml 配置与 secrets 注入 问题:wrangler.toml 里 account_id = "${{ secrets.CF_ACCOUNT_ID }}" 只有 wrangler-action@v4+ 支持,v3 需写死账号ID。 解决:升级 wrangler-action 到 v3,配合 wrangler 4.x,支持 secrets 注入。 2.2 wrangler 4.x 静态资源绑定 问题:assets = "./dist" 报类型错误,需对象格式,且字段应为 directory。 解决:用 [assets]\ndirectory = "./dist"。 2.3 mock 数据 DB_JSON 注入 问题1:直接用 $GITHUB_ENV 注入 base64,内容过长会被截断,导致 atob 报错。 问题2:wrangler....

2025-08-05 · 1 min

Git 提交合并(Squash)操作复盘总结

Git 提交合并(Squash)操作复盘总结 ✅ 场景目标 把某个提交(如 6fc6e37)及其之后的所有提交合并成一条提交,保留历史,简化 log。 🧭 思路总览 Git 只能按提交拓扑结构操作,不能直接按时间合并。正确做法如下: ✅ 操作步骤 1️⃣ 找到合并起点的前一个提交 用 git log --oneline --date=iso 或 git log --graph 找到目标提交(如 6fc6e37)的前一个提交(如 8d1bacb)。 2️⃣ 切换到目标分支 1 git checkout main 3️⃣ 软重置到前一个提交 1 git reset --soft 8d1bacb 这样会把从 6fc6e37 开始到最新的所有更改变成未提交状态。 4️⃣ 新建一个合并提交 1 git commit -m "合并 Cloudflare Workers 相关提交" 可以整理多个提交说明合并进 message。 5️⃣ 强推远程(如已推送过) 1 git push origin main --force 🧼 效果验证 git log --oneline 检查历史是否简化 git log --graph 检查提交结构 git status 检查无未提交内容 ⚠️ 注意事项 项目 注意点 重写历史 一定会改变 Git 提交 ID,不可逆 多人协作 强推前要先告知团队,避免他人拉取冲突 推荐备份 操作前创建备份分支:git checkout -b backup-before-squash 🧠 总结口诀 🔁 找前一条 → 软重置 → 合新提交 → 强推远端...

2025-08-05 · 1 min

项目开发复盘报告:题库适配器与平台迁移

好的,这是一份经过整理和条理化的复盘报告,涵盖了您提供的所有内容。 项目开发复盘报告:题库适配器与平台迁移 本文档旨在系统地复盘“为 tikuAdapter 新增适配端点”任务从初期开发、环境配置、数据兼容性处理,直至最终平台迁移与自动化部署的完整过程。报告详细记录了关键任务、遇到的问题、解决方案及宝贵的经验教训。 I. 核心API端点开发与初期问题解决 1.1 任务目标 创建一个新的 API 端点 /tikuAdapter,该端点能够接收特定格式请求,调用外部题库 API (api.tikuhai.com),并将返回数据转换为 tikuAdapter 所需的 JSON 格式。 1.2 已完成工作 新增 /tikuAdapter 端点:在 src/app.js 中成功添加了路由和 handleTikuAdapterSearch 处理函数。 实现数据格式转换:在 handleTikuAdapterSearch 中编写核心逻辑,将 api.tikuhai.com 的响应重组,包括保留 question 和 options,并动态生成 answerKey、answerIndex、answerKeyText 和 answerText 等字段。 1.3 遇到的问题及解决方案 问题一:服务器连接重置 现象: curl 测试时收到 (56) Recv failure: Connection was reset 错误。 分析: 服务器处理请求时意外终止或崩溃。 解决方案: 检查 request.log 日志文件,定位导致崩溃的具体异常。 问题二:处理 options 字段时的类型错误 现象: 日志显示 TypeError: Cannot read properties of undefined (reading 'indexOf')。 分析: 当客户端请求 JSON 不含 options 字段时,options 变量为 undefined,导致后续调用 indexOf 失败。 解决方案: 增加防御性编程:const options = data....

2025-08-05 · 3 min

Git 推送问题解决复盘 - 20250722

Git 推送问题解决复盘记录 解决日期: 2025年7月22日 问题类型: Git SSH 认证失败 + GitHub 大文件限制 解决状态: ✅ 已完成 🎯 问题概述 原始问题: Visual Studio Code 无法推送代码到远端 GitHub 仓库 第一阶段错误信息 (SSH 认证问题): 1 2 3 git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 第二阶段错误信息 (大文件限制问题): 1 2 3 remote: error: File .docs/发展心理学 第三版 (林崇德) (Z-Library).pdf is 262.19 MB; this exceeds GitHub's file size limit of 100....

2025-07-22 · 5 min