我厌倦了复制相同的 MERN 样板,于是我构建了一个 CLI

发布: (2026年4月12日 GMT+8 03:47)
4 分钟阅读
原文: Dev.to

Source: Dev.to

每个全栈开发者都知道的问题

每次开始一个新项目时,前一小时的流程都是一样的:

npm create vite@latest   # pick React → set up Tailwind
  • 创建 server/ 文件夹 → npm init → 安装 ExpressMongoosedotenvcors
  • 编写相同的 db.js 连接文件
  • 从上一个项目复制 CORS 配置
  • vite.config.js 中设置代理
  • 如果需要登录,复制相同的 JWT 认证代码
  • 接入 React Router、受保护路由,完成所有配置

等真正开始编写业务功能时,我已经精神疲惫。而且每个项目的脚手架都会因为我每次“改进”而略有不同。

QuickStack – 为你自动完成的 CLI

npx create-quickstack-app my-app

就这么简单。你将得到一个可直接运行的全栈 starter。

你将得到的内容

类别技术栈
前端React + Vite + Tailwind CSS
后端Express.js + Mongoose
认证(可选)JWT + bcrypt + httpOnly cookies
开发体验NPM Workspaces、预配置 Axios、单一 npm run dev 命令

版本选择

QuickStack 让你在稳定、经过实战检验的版本和最新发布的版本之间切换:

  • Stable → React 18.3、Tailwind v3、React Router v6
  • Latest → React 19、Tailwind v4、React Router v7

添加 --auth 参数即可生成认证脚手架。

认证脚手架(使用 --auth 时)

  • POST /api/user/register – 创建账户
  • POST /api/user/login – 登录,设置 httpOnly JWT Cookie
  • POST /api/user/logout – 清除会话
  • GET /api/user/me – 返回当前用户(受保护)

包含:

  • 带表单的登录与注册页面
  • 在未登录时重定向到 /loginProtectedRoute 组件
  • 带 Axios 拦截器的 Auth 服务
  • 已配置好所有路由的 React Router 设置

这不是玩具式的 “TODO‑app” 示例;它正是我在生产环境中实际使用的。

CLI 工作原理

  • commander – 参数解析(--auth--stable--latest--yes
  • @inquirer/prompts – 交互式提示
  • fs-extra – 复制模板目录
  • chalk – 彩色终端输出

QuickStack 并不是通过脆弱的字符串模板生成代码,而是直接复制真实、可运行的项目目录,并根据你的选择进行补丁。仓库中的模板是完整可用的——你可以 cd 进去直接运行。

针对不同版本的调整(React 18 vs 19、Tailwind 3 vs 4)由预设引擎处理,它会在复制基础模板后重写 package.json 依赖和配置文件。

安装与使用

npx create-quickstack-app my-app
cd my-app
npm run dev
  • 客户端
  • 服务器端

链接

  • npm:
  • GitHub:

接下来

  • TypeScript 模板变体
  • 包含 Docker Compose 的脚手架
  • PostgreSQL + Prisma 作为数据库选项
  • 更多框架选项(例如 Next.js)

如果这能为你的下一个项目节省哪怕 30 分钟,我就算成功了。欢迎提出你想要的功能——随时打开 issue 或留下反馈。如果觉得有帮助,给 GitHub 仓库点个 ⭐ 将是对我极大的鼓励。感谢阅读!

0 浏览
Back to Blog

相关文章

阅读更多 »