DEV Community · Show DEV9/3 07:3344

生成器难点不在模板而在兼容性

The hard part of a starter-kit generator isn't templating — it's compatibility

阅读原文
作者发现现有starter kit都是大仓库,克隆后需手动删除不需要的组件。因此他构建了一个生成器,通过10个问题生成定制栈。他原以为难点在模板化,实际是组合的非法性。例如React+Vite+Drizzle+Stripe无法工作,因为Vite SPA无服务器,无法安全存储密钥。他采用声明式requires和tags,而非if语句,通过过滤函数排除不兼容选项,而非禁用或警告。这编码了如Auth0仅与Next.js兼容等规则。