ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Claude Code 实战攻略:用 React+TypeScript+Vite 从零打造待办应用的高效开发流程

Claude Code 实战攻略:用 React+TypeScript+Vite 从零打造待办应用的高效开发流程 1. 为什么我建议你用 Claude Code 搭一个待办应用如果你正在找一个能真正跑通「对话即开发」的最小闭环项目React TypeScript Vite 的待办应用几乎是成本最低、反馈最快的那一个。它足够小小到一个下午就能从空目录做到可构建产物又足够完整完整到能覆盖组件拆分、状态管理、类型定义、本地持久化、构建调试这些真实工程环节。Claude Code 在这里的价值不是替你写几行代码而是把「初始化项目 → 生成组件 → 补类型 → 接状态 → 修构建报错」串成一条可以连续执行的流水线。我实测下来待办应用之所以适合作为 Claude Code 的入门实战原因有三个。第一需求边界清晰添加、完成、删除、筛选这四件事没有歧义AI 不容易跑偏。第二技术栈标准化程度高Vite 的 react-ts 模板开箱即用TypeScript 的类型约束又能让 Claude 生成的代码有明确的检查反馈。第三调试路径短npm run dev起来后浏览器热更新改完立刻能看到结果出问题也能马上定位。这篇文章面向的是已经会一点 React、但还没把 Claude Code 用顺的开发者。我会给出可复制的配置骨架、settings.json 示例、完整的启动与构建命令以及我在实际使用中踩过的坑。你不需要提前准备什么复杂环境Node.js 18 以上、一个能用的终端就够了。下面从环境准备开始一步步把整个流程跑通。2. 前置准备把 Claude Code 接到 TaoToken 上Claude Code 本身是一个命令行工具它需要一个大模型服务来驱动。国内直接调用官方接口经常遇到连通性和配额问题所以更稳妥的做法是通过兼容 Anthropic 协议的服务来接入。TaoToken 提供的就是这样一个入口它的 API 地址是https://taotoken.net/api兼容 Claude Code 所需的接口格式配置好之后你就能在终端里正常对话和生成代码。先确认本地环境。打开终端执行node -v npm -vNode.js 需要 18 或更高版本npm 建议 9 以上。如果版本偏低先去 Node 官网升级这一步别跳过Vite 5 对 Node 版本有硬性要求。接着安装 Claude Code CLInpm install -g anthropic-ai/claude-code安装完成后你需要拿到一个 API Key。访问 TaoToken 的控制台创建密钥地址是https://taotoken.net/console登录后在 API Keys 页面新建一个复制出来保存好。这个 Key 只显示一次丢了就得重新建。拿到 Key 之后通过环境变量告诉 Claude Code 用哪个服务地址和密钥。在~/.zshrc或~/.bashrc里追加export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-你的密钥保存后执行source ~/.zshrc让配置生效。这里有个细节要注意ANTHROPIC_BASE_URL不要带末尾斜杠也不要拼上/v1Claude Code 会自己补路径多写反而会 404。配置完成后运行claude --version能打印版本号就说明 CLI 装好了。提示如果你在多个项目里切换不同的 Key可以把环境变量写进项目级的.env再用 direnv 加载避免全局污染。密钥不要提交到 Git.env记得加进.gitignore。3. 可复制配置settings.json 与项目骨架Claude Code 支持通过settings.json做项目级配置这样团队成员拉下代码后行为一致不用每个人手动调。配置文件放在项目根目录的.claude/settings.json也可以放在用户目录~/.claude/settings.json做全局默认。下面是我在待办项目里实际用的一份骨架{ permissions: { allow: [ Bash(npm run dev:*), Bash(npm run build:*), Bash(npm install:*), Bash(npx tsc:*), Read(//src/**), Edit(//src/**) ], deny: [ Bash(rm -rf:*), Bash(git push:*) ] }, env: { NODE_ENV: development } }这份配置做了两件事。allow列表里放的是开发过程中高频且安全的命令比如启动开发服务器、构建、装依赖、跑类型检查以及读写src目录。把这些加进白名单后Claude Code 执行时不会每次都弹确认流程顺畅很多。deny列表则挡住危险操作rm -rf和git push这类命令一旦误触发代价很大直接禁掉最省心。项目初始化直接用 Vite 官方模板一条命令搞定npm create vitelatest todo-app -- --template react-ts cd todo-app npm install生成的目录结构里src下会有App.tsx、main.tsx、vite-env.d.ts这些文件。TypeScript 配置在tsconfig.json和tsconfig.node.jsonVite 配置在vite.config.ts。这套骨架已经帮你把 React 18、TypeScript 5、Vite 5 的版本对齐好了不用自己折腾依赖冲突。接下来让 Claude Code 介入。在项目根目录启动claude进入交互界面后先给它一个明确的重构指令比如把 src/App.tsx 改造成待办应用拆成 TodoInput、TodoList、TodoItem 三个组件 用 useState 管理列表用 localStorage 做持久化所有 props 和 state 都要有 TypeScript 类型。Claude Code 会读取现有文件、生成新组件、补上类型定义并在需要时创建新文件。你可以在它动手前用/task查看它拆解出的步骤确认无误再让它继续。4. 验证请求启动、构建与功能确认代码生成完第一件事是确认它能跑起来。启动开发服务器npm run dev终端会打印本地地址默认是http://localhost:5173。打开浏览器你应该能看到输入框和空列表。输入一条待办回车列表里出现新条目点击条目切换完成状态文字出现删除线点删除按钮条目消失。刷新页面数据还在说明 localStorage 持久化生效了。如果想让 Claude Code 帮你验证可以在对话里直接说运行 npm run build把 TypeScript 报错和构建警告都贴出来逐个修复。构建命令是npm run buildVite 会先跑tsc做类型检查再打包。这一步经常暴露问题比如某个组件的 props 类型没写全、useState的初始值类型推断成了never[]、事件处理函数的参数类型缺失。Claude Code 拿到报错后能直接定位到文件和行号改完再跑一次直到构建通过。构建成功后可以本地预览产物npm run preview它会启动一个静态服务器托管dist目录地址通常是http://localhost:4173。这一步验证的是生产构建的结果和开发模式下的行为可能有细微差别比如热更新没了、某些开发期警告消失值得单独跑一遍。注意npm run dev默认占用 5173 端口如果被占用 Vite 会自动换到 5174 并打印出来别盯着旧地址刷新。想固定端口就在vite.config.ts里配server.port。5. 本篇常见错排查TypeScript 报Cannot find module ./TodoItem多半是文件名大小写不一致。macOS 文件系统默认不区分大小写但 TypeScript 和构建工具区分。检查 import 路径和实际文件名是否完全一致TodoItem.tsx不能写成todoitem.tsx。useState类型推断成never[]初始值传了空数组但没给泛型。写成useStateTodo[]([])或者给初始值一个明确的类型标注。Claude Code 生成时如果漏了直接把报错贴给它它会补上。localStorage 读取报JSON.parse错误首次运行时 key 不存在localStorage.getItem返回null直接JSON.parse(null)会抛异常。正确写法是先判断或者用JSON.parse(localStorage.getItem(todos) ?? [])。这个坑很常见让 Claude Code 加一层容错就行。Vite 热更新不生效检查vite.config.ts里有没有误配server.watch或者项目是不是放在了网络挂载盘上文件监听事件可能丢失。本地磁盘一般不会有这个问题。构建时提示tsc: command not foundTypeScript 没装成项目依赖。执行npm install -D typescriptVite 模板通常已经带了如果被误删就补回来。Claude Code 响应慢或超时先确认ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY配置正确再检查网络。如果 Key 配额用尽去控制台看用量。排查时可以在对话里直接问「当前用的是哪个 base url」它会读环境变量告诉你。权限确认弹得太频繁把常用命令加进settings.json的allow列表前面那份骨架已经覆盖了大部分开发场景。不要图省事用--dangerously-skip-permissions除非你在一次性沙箱里且代码已提交。6. 把流程固化下来跑通一遍之后建议把关键动作固化成习惯。项目初始化用 Vite 模板配置用.claude/settings.json统一开发时保持npm run dev在后台跑改完代码浏览器自动刷新形成「写—看—改」的短循环。Claude Code 负责生成和修复你负责判断和验收分工清晰。需要长期做编码和 Agent 类任务的话可以了解一下 Coding Plan它更适合高频、连续的开发场景地址是https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite。如果只是想先验证模型对话效果用模型对话页面试几条指令就行https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite。接入过程中遇到配置问题接入文档里有完整的参数说明https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite。密钥管理在控制台的 API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite。最后留一个我常用的收尾动作每次功能做完先git add . git commit再让 Claude Code 做下一轮重构。这样即使某次生成结果不理想回滚成本也只是一条git reset比在对话里反复试错更可控。
返回列表