用cursor花了一天时间,开发了一个工具网站
现在这个网站已经上线了,可以访问:java2json
我现在就是记录一下,开发这个网站的过程,以及踩过的坑。
初衷
本人一直都在探索获取工作之外的一些额外收入。做过很多尝试,抖音、快手、公众号、小程序。但是都没有什么效果。
最近比较流行的一个话题就是AI、出海。
大概意思就是利用AI,能够快速开发网站,然后发布上线。上线之后可以是通过广告获取收入,也可以是自己的产品本身获取收入。
我本身就一直在关注这方面的消息,加上最近工作上有点空余时间,然后就开始思考我能做一个什么样的网站。
因为自己平时工作上需要写设计文档,设计文档里面最头疼的就是接口文档,写这个入参出参很麻烦,特别是一些post请求,入参json要手敲,这你受得了吗。
简单一点的接口还好,入参出参都比较少,手敲敲也很快。但是复杂一点的接口,入参出参都很多,手敲就很慢了。
我在网上搜索了一下,就是有没有那种把Java实体类转换成json的工具。
搜了一圈发现全都是那种json转Java实体类的工具,没有我想要的这种。
然后我就开始有想法自己做一个了。
开发过程
有了想法之后就是开始动手开发了。
我最开始开发的一个版本,是利用python开发的。因为我不会写页面,Python有现成的web库,像streamlit之类的这种,我只需要实现逻辑就可以了。
功能能实现,但是界面非常丑陋,不忍直视,后面还是考虑用专业的全栈开发框架去做这个事情。
最后选用的就是nextjs+shadcn-ui然后用cursor来帮我开发。还使用了AI COLORS 参考了 网站的配色。
ui设计就是根据我自己的描述,然后AI帮我生成,然后我再调整。
我说一下我的大概使用cursor开发的过程:
首先你得构思一个框架:你想要做哪些功能,每个功能需要哪些页面,每个页面需要哪些组件。只有你自己有清楚的思路了,你才能把你自己的思路告诉cursor。
比如说我要做的这个网站,比较简单,就一个功能,输入Java代码点击按钮之后,生成json示例。
那我会告诉cursor说:我想用nextjs+shadcn-ui做一个Java实体类转json的工具网站
cursor会根据你的描述,创建一个项目的框架,然后会告诉你怎么在本地初始化项目,怎么运行。
你运行起来之后就能看到初始简易版的实现效果。
接下来就是根据你自己的想法,去加功能,去改样式,去优化功能的实现。
比如说,cursor第一次给我生成的样式就是上下结构的,上面一个输入框,中间一个按钮,下面一个展示结果的框。
我就会告诉cursor,我希望是左右结构的,左边一个输入框,右边一个展示结果的框。
cursor就会根据你的描述,去修改样式。
再比如说,我想要在最上面加一个导航栏,最左边是logo,最右边是个人信息。
cursor每次都会非常准确的按照你想法去实现这个功能。
但是这个过程中少不了会有BUG出现,基本上也是把报错复制粘贴给cursor就会帮你解决了。
最终达到自己想要的效果之后就是可以部署上线了。
部署上线
关于部署这个相对来说就比较简单了
把项目托管到github,然后利用vercel自动部署。非常方便。
部署到vercel之后有两个问题
1是vercel部署的域名vercel自动分配的。
2是vercel部署的网站在国内访问速度非常慢。
第一点很简单,就是自己买一个域名,然后绑定到vercel。
第二点我是把我的域名解析到cloudflare,然后cloudflare的CDN来加速。这样国内国外就都能访问了。
遇到的坑
-
初始化项目的时候,shadcn-ui初始化一直不成功
cursor 给的命令是
npx shadcn-ui@lastest init
后面查到是这个版本有BUG,换成npx shadcn-ui@0.7.0 init
就可以了 -
本地能运行起来,但是vercel编译一直报错
这个就是在编译的时候是严格检查的,比如说你定义了一个变量,但是没有使用,就会报错。
解决办法就是哪里报错点哪里 -
域名托管到cloudflare之后,访问一直提示重定向次数过多,访问不了
在 CloudFlare 的 SSL/TLS 菜单里将「SSL/TLS 加密模式」设置为完全(Strict)即可。
总结
这次开发的过程给我最大的感受就是两个字:行动
很多时候我们想做一件事情,但是总是因为各种原因畏手畏脚不去做。
不去做,那你永远也不知道自己能不能做成功。
也不要担心自己做出来的这个东西到底有没有用,每一次尝试都是对自己能力的一次提升。
只有自己行动起来之后,才能在不断的试错过程中成长。
希望自己分享的这些能够给大家带来一些启发,也希望大家能够行动起来,去一步一步的实现自己的想法。
因为
这真的很酷!!!