需先初始化node.js项目并配置cursor智能功能,再搭建express服务、连接mongodb、实现文章crud接口,最后用ejs渲染页面;未正确初始化和设置ai提示词将导致代码生成偏离需求。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用Cursor开发Node.js博客系统,需先配置好智能补全与调试环境,再搭建Express服务、连接MongoDB、实现文章增删改查接口,最后用EJS渲染前端页面。没有初始化项目结构和正确设置AI提示词,后续所有代码生成都会偏离实际需求。
初始化Node.js项目并启用Cursor智能功能
打开终端,进入空文件夹,执行 npm init -y 创建基础 package.json。
在Cursor中按下 Cmd+K(Mac)或 Ctrl+K(Win/Linux),输入“初始化Node.js后端项目”,让AI生成完整依赖列表——它会自动推荐 express、mongoose、dotenv、ejs 等必要包,【务必勾选“写入package.json并安装依赖”选项,否则后续所有AI生成的代码都缺少运行时支持】。
安装完成后,在 Cursor 设置 → AI → Model 中选择 “Claude 3.5 Sonnet” 或 “Cursor Pro” 模型,提升后端逻辑理解准确率。
用AI快速生成Express服务骨架
新建 app.js 文件,光标定位到空白处,按 Cmd+L 调出AI指令框,输入:“生成一个标准Express服务,监听3000端口,启用JSON解析、静态资源托管(public目录)、EJS模板引擎,根路由返回‘Hello from Blog’”。
Cursor会输出完整可运行代码,直接执行 node app.js 验证服务是否启动成功。
若控制台报错 “Cannot find module ‘ejs’”,说明上一步AI未自动安装依赖——此时必须手动运行 npm install ejs,【AI生成代码不等于自动部署,缺失依赖需人工补全】。
连接MongoDB并定义文章Schema
方法一:本地MongoDB Atlas连接
在 .env 文件中填写 MONGODB_URI=mongodb+srv://user:pass@cluster.mongodb.net/blog?retryWrites=true&w=majority。
方法二:Docker快速启动本地实例
执行 docker run -d -p 27017:27017 --name mongo-blog mongo:6,然后把 MONGODB_URI 改为 mongodb://localhost:27017/blog。
在 models/Post.js 中,用AI生成Mongoose Schema:输入指令“用Mongoose定义Post模型,包含title(String, required)、content(String, required)、slug(String, unique)、createdAt(Date, default now)”,AI将输出带验证规则的代码,复制粘贴即可。
在 app.js 开头添加数据库连接逻辑,调用 mongoose.connect() 并监听 connected 和 error 事件——这一步漏掉,所有CRUD操作都会静默失败。
实现博客核心API接口
第一步:生成获取全部文章的GET接口
在 routes/posts.js 中,光标放在空行,输入“生成GET /api/posts 路由,返回全部Post文档,按createdAt降序排列,只返回title、slug、createdAt字段”。
第二步:生成创建文章的POST接口
输入“生成POST /api/posts 路由,接收JSON body,校验title和content非空,保存后返回201状态及新文档”。
第三步:生成根据slug获取单篇文章的GET接口
输入“生成GET /api/posts/:slug 路由,用slug字段查找Post,返回完整文档,没找到返回404”。
第四步:生成更新与删除接口
分别用类似指令生成PUT /api/posts/:slug 和 DELETE /api/posts/:slug,注意PUT要使用 findOneAndUpdate 并设 { new: true },DELETE要用 findOneAndDelete。
最后在 app.js 中挂载路由:app.use('/api/posts', require('./routes/posts'))。
用EJS渲染首页与文章页
创建 views/index.ejs,输入“生成EJS首页模板,循环渲染posts数组,每项显示title链接到 /post/:slug,下方显示createdAt格式化为YYYY-MM-DD”。
创建 views/post.ejs,输入“生成EJS文章详情页模板,显示title、content、createdAt,顶部加‘← 返回首页’链接”。
在 app.js 的根路由 app.get('/') 中,用 res.render('index', { posts }) 渲染首页;新增 app.get('/post/:slug') 路由,先查数据库再 res.render('post', { post })。
确保 public/css/style.css 存在且被 app.use(express.static('public')) 正确托管,否则页面加载后无样式。











