@dt-company/create-dt-app
v0.1.3
Published
从模板生成已接入 @dt-company/design-system 的 Vite + React 应用
Downloads
545
Readme
@dt-company/create-dt-app
生成已接入 @dt-company/design-system 的 Vite + React 模板(顶栏路由、表格 + Dialog 示例、AGENTS.md 等)。
两种用法不要混用
| 场景 | 用的到底是什么 | 命令 |
|------|------------------|------|
| 在本仓库(company-design-system)里 新建 apps/xxx | 根目录 本地脚本,不是从 npm 装 CLI | 见下文「A」 |
| 任意目录(已安装 Node/pnpm,设计系统已从 npm 发布) | npm 上的包 @dt-company/create-dt-app | 见下文「B」 |
根目录的 pnpm create-app 来自仓库根 package.json 的 "create-app": "node packages/create-dt-app/bin/create-dt-app.mjs",pnpm 只是执行这个脚本,不会去 registry 解析 @dt-company/create-dt-app。
A. 在本 monorepo 里新建应用
在 本仓库根目录:
pnpm create-app apps/<应用目录名>
pnpm install
pnpm --filter <生成出的 package.json 里的 name> dev示例:
pnpm create-app apps/portal
pnpm install
pnpm --filter portal dev此时若检测到 packages/design-system,脚本会自动改为 workspace:* 并写入 Vite/tsconfig 源码 alias(与 apps/demo 一致)。
B. 使用已发布的 npm 包(新建独立项目)
前置:已安装 Node ≥ 20,且 npm 上已存在 @dt-company/design-system(本脚手架模板依赖它)。
在你想创建项目的父目录执行(将 my-dt-app 换成你的文件夹名;该目录尚不存在或为空):
pnpm dlx @dt-company/create-dt-app my-dt-app或使用 npm:
npx @dt-company/create-dt-app my-dt-app说明:包内 bin 名为 create-dt-app,dlx / npx 安装该包后会直接执行这个命令;第一个参数就是目标路径(传给脚本的 process.argv[2]),中间不要再写一遍 create-dt-app。需要固定版本时可写 @dt-company/[email protected]。
然后进入目录、安装依赖、启动:
cd my-dt-app
pnpm install # 或 npm install / yarn
pnpm dev生成内容使用 npm 版模板:@dt-company/design-system 为 ^0.1.0(从 registry 安装),无 monorepo 专用 Vite alias。
约束
- 目标目录若已存在且非空,脚本会报错退出。
- 在 monorepo 内时,路径写成
apps/<name>可与现有../../packages/design-system对齐;独立项目可任意目录名。
模板内容
见 template/:package.json、vite.config.ts、tsconfig.json、index.html、src/*、AGENTS.md 等。
src/App.tsx:QueryClientProvider、路由、ThemeProvider、TooltipProvidersrc/i18n/:react-i18next +locales/zh.json·en.json;main.tsx内import "./i18n/i18n"src/lib/query-client.ts:QueryClient默认选项src/layouts/app-layout.tsx:顶栏、NavLink、LanguageSwitcher、主题切换src/pages/home-page.tsx:useQuery示例src/pages/list-page.tsx:Table + Dialog +useMutation(删除行),结构对齐voice-page
npm 发布说明(维护者)
- 先发
@dt-company/design-system,再发本包。 - 模板内
"@dt-company/design-system": "^0.1.0"与设计系统主版本保持同步(升级大版本时改template/package.json)。 - 本仓库根执行
pnpm create-app时脚本会检测 monorepo 并切换为workspace:*+ 源码 alias;npm 用户走上一节「B」。
