name: web-artifacts-builder description: 一套用于使用现代前端Web技术(React, Tailwind CSS, shadcn/ui)创建复杂、多组件HTML组件的工具套件。适用于需要状态管理、路由或shadcn/ui组件的复杂组件 - 不适用于简单的单文件HTML/JSX组件。 license: 完整条款见LICENSE.txt requires: [node, bash]
Web组件构建器
要构建强大的前端HTML组件,请遵循以下步骤:
- 使用
scripts/init-artifact.sh初始化前端仓库 - 通过编辑生成的代码来开发您的组件
- 使用
scripts/bundle-artifact.sh将所有代码打包到单个HTML文件中 - 向用户展示组件
- (可选)测试组件
技术栈:React 18 + TypeScript + Vite + Parcel(打包)+ Tailwind CSS + shadcn/ui
设计与样式指南
非常重要:为避免通常被称为“AI劣质设计”的现象,请避免使用过多的居中布局、紫色渐变、统一的圆角以及Inter字体。
快速开始
步骤1:初始化项目
运行初始化脚本以创建新的React项目:
bash scripts/init-artifact.sh <project-name>
cd <project-name>
这将创建一个完全配置的项目,包括:
- React + TypeScript(通过Vite)
- Tailwind CSS 3.4.1 带shadcn/ui主题系统
- 路径别名(
@/)配置 - 40+个预安装的shadcn/ui组件
- 所有Radix UI依赖项包含
- Parcel配置用于打包(通过.parcelrc)
- Node 18+兼容性(自动检测并固定Vite版本)
步骤2:开发您的组件
要构建组件,请编辑生成的文件。有关指导,请参见下面的常见开发任务。
步骤3:打包为单个HTML文件
要将React应用打包成单个HTML组件:
bash scripts/bundle-artifact.sh
这将创建bundle.html - 一个自包含的组件,所有JavaScript、CSS和依赖项都已内联。此文件可直接在聊天中作为组件共享。
要求:您的项目必须在根目录中有index.html。
脚本功能:
- 安装打包依赖(parcel, @parcel/config-default, parcel-resolver-tspaths, html-inline)
- 创建带路径别名支持的
.parcelrc配置 - 使用Parcel构建(无源映射)
- 使用html-inline将所有资源内联到单个HTML中
步骤4:与用户共享组件
最后,在对话中共享打包的HTML文件,以便用户可以将其作为组件查看。
步骤5:测试/可视化组件(可选)
注意:这是一个完全可选的步骤。仅在必要时或请求时执行。
要测试/可视化组件,请使用可用工具(包括其他技能或内置工具如Playwright或Puppeteer)。通常,避免提前测试组件,因为这会在请求和看到完成组件之间增加延迟。如果请求后或出现问题,可稍后测试。
参考
- shadcn/ui组件:https://ui.shadcn.com/docs/components