开发示例
✨ AI 辅助开发实战
通过真实场景展示如何最大化利用 Trae 的 AI 能力,让开发效率翻倍。
场景一:从需求到代码
用 Builder 模式,一句话描述需求,AI 自动完成整个功能。
实战:构建图片压缩工具
Builder 模式Builder 提示词
创建一个网页版图片压缩工具:
- 支持拖拽上传图片(JPG/PNG/WebP)
- 显示压缩前后的文件大小对比
- 可调节压缩质量(滑块 1-100)
- 压缩后可预览并下载
- 纯前端实现,使用 Canvas API
- 深色主题,现代 UI 风格
Builder 会自动生成以下文件:
生成的项目结构
image-compressor/
├── index.html # 主页面
├── style.css # 样式
└── compressor.js # 压缩逻辑(Canvas API)
compressor.js — AI 生成的核心逻辑
async function compressImage(file, quality = 0.8) {
return new Promise((resolve) => {
const img = new Image()
const url = URL.createObjectURL(file)
img.onload = () => {
const canvas = document.createElement('canvas')
canvas.width = img.naturalWidth
canvas.height = img.naturalHeight
const ctx = canvas.getContext('2d')
ctx.drawImage(img, 0, 0)
URL.revokeObjectURL(url)
canvas.toBlob(
(blob) => resolve(blob),
file.type,
quality
)
}
img.src = url
})
}
function formatSize(bytes) {
if (bytes < 1024) return bytes + ' B'
if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(1) + ' KB'
return (bytes / 1024 / 1024).toFixed(2) + ' MB'
}
场景二:AI 代码审查
让 AI 审查你的代码
Chat 模式Chat 提示词
# 审查整个 PR 改动
@Git Diff 请帮我做 code review,重点关注:
1. 潜在的 Bug 和边界情况
2. 性能问题
3. 安全漏洞(SQL 注入、XSS 等)
4. 代码可读性和命名规范
# 审查特定文件
@src/auth/jwt.js 这个 JWT 实现有没有安全问题?
AI 会给出类似这样的审查结果:
AI 审查结果示例
🔴 安全问题(高优先级)
第 23 行:JWT secret 硬编码在代码中
建议:使用环境变量 process.env.JWT_SECRET
🟡 潜在 Bug(中优先级)
第 45 行:未处理 token 过期的情况
当 jwt.verify() 抛出 TokenExpiredError 时会导致 500 错误
🟢 改进建议(低优先级)
第 67 行:函数名 checkToken 不够语义化
建议改为 verifyAccessToken
场景三:AI 生成测试
Chat 提示词 → 生成测试
# 提示词
@src/utils/validator.js 用 Vitest 为这个文件生成完整的单元测试,
覆盖正常情况、边界情况和异常情况
# AI 生成的测试文件
import { describe, it, expect } from 'vitest'
import { validateEmail, validatePhone, validatePassword } from './validator'
describe('validateEmail', () => {
it.each([
['user@example.com', true],
['user+tag@sub.domain.com', true],
['invalid', false],
['@no-user.com', false],
['', false],
[null, false],
])('validateEmail(%s) → %s', (input, expected) => {
expect(validateEmail(input)).toBe(expected)
})
})
场景四:AI 辅助重构
重构前 → 重构后
// ❌ 重构前:嵌套回调地狱
getUser(id, function(user) {
getOrders(user.id, function(orders) {
getProducts(orders[0].id, function(products) {
console.log(products)
})
})
})
// ✅ 重构后:AI 自动转换为 async/await
async function getUserProducts(id) {
const user = await getUser(id)
const orders = await getOrders(user.id)
const products = await getProducts(orders[0].id)
return products
}
// Chat 提示词:
// "将这段回调代码重构为 async/await,添加错误处理"
最高效的工作流:用 Builder 生成初始代码 → 用 Chat 审查和优化 → 用内联补全完善细节。三种 AI 模式配合使用,效率最大化。