2025年12月,我决定重新打造个人技术网站,主要目标是:
这次开发经历让我深刻体会到AI在软件开发中的巨大潜力,也发现了一些值得注意的问题和最佳实践。
在AI助手的建议下,我选择了以下技术栈:
AI协助的方面:
我的实践:
经验总结:AI在需求分析阶段非常有用,能快速提供多种技术方案对比。但最终决策要结合自己的实际情况。
AI协助的方面:
我的实践:
经验总结:
开发过程中遇到的主要问题:
现象:静态生成时参数传递报错
// 错误代码
export async function generateStaticParams() {
const posts = getAllPosts();
return posts.map((post) => ({
slug: post.slug, // 参数类型不匹配
}));
}
解决方案:
// 正确代码
import { use } from 'react';
export async function generateStaticParams() {
const posts = getAllPosts();
return posts.map((post) => ({
slug: post.slug,
}));
}
export default function ArticlePage({ params }: { params: Promise<{ slug: string }> }) {
const { slug } = use(params);
// ...
}
经验:Next.js 16对参数处理方式有变化,需要使用use()函数解包Promise。AI能快速定位问题并提供解决方案。
现象:构建失败,提示需要配置静态导出
解决方案:
// next.config.ts
const nextConfig: NextConfig = {
output: 'export', // 启用静态导出
trailingSlash: true, // 添加尾斜杠
images: {
unoptimized: true // 图片不优化
}
};
经验:静态导出模式有特殊要求,需要提前规划。AI能提供完整的配置示例。
现象:静态导出不支持API路由,需要移除
解决方案:
app/api目录generateStaticParams预生成所有页面经验:静态站点架构需要在设计阶段就确定,后期修改成本较高。
配置要点:
这次项目证明,AI协作开发是未来的趋势。关键是要找到人机协作的最佳平衡点,既利用AI提高效率,又保持人类的创造力和判断力。
对于想要尝试AI协作开发的朋友,我的建议是:
AI是强大的工具,但真正的价值在于人类如何使用它。通过合理的协作方式,我们可以创造出更加优秀的作品。