CLI
用 elyri CLI 把组件源码拷进项目:命令、选项、写入位置与常见报错。
#概览
elyri CLI 负责把组件源码拷进你的项目。无需全局安装,通过包管理器的临时执行命令运行即可。
运行前请先安装组件所属的包(如 @elyri/motion),CLI 从 node_modules 中读取源码。
#add
添加一个或多个组件,名称即组件页 URL 中的标识(如 gradient-text)。
pnpm dlx @elyri/cli@latest add fade-in gradient-text每个组件会作为一个完整文件夹写入:
目录结构
src/components/elyri/
└── GradientText/
├── GradientText.css
├── GradientText.tsx
└── index.ts源码中对共享运行时的相对导入会被改写为 @elyri/motion/core 或 @elyri/ui/core,因此拷出来的文件可以独立工作。
#list
按包分组列出所有可添加的组件。
pnpm dlx @elyri/cli@latest list#选项
| 选项 | 说明 |
|---|---|
--dir, -d <path> | 指定写入目录(相对当前目录),优先级最高。 |
--overwrite, --force, -f | 覆盖已存在的文件,不再询问。 |
#写入位置
按以下顺序决定目标目录:
- 传入了
--dir:使用该目录。 tsconfig.json/tsconfig.app.json/jsconfig.json中配置了@/*、~/*或#/*别名:写入<别名根目录>/components/elyri。- 项目有
src/目录:写入src/components/elyri。 - 否则写入
components/elyri。
#已有文件
CLI 会先检查全部目标文件,只要有一个已存在就不写入任何文件。在终端中会询问是否覆盖;在 CI 等非交互环境中会直接退出,需要显式传入 --overwrite。
覆盖会丢弃你对该组件做过的修改,建议先提交到版本控制。
#常见报错
| 报错 | 处理 |
|---|---|
Missing @elyri/motion | 包还没安装,按提示的命令安装后重试。 |
@elyri/motion@x does not ship … | 已安装的包版本过旧,不包含该组件,升级到 @latest。 |
Unknown component: … | 名称拼写有误,运行 list 查看可用名称。 |
报错中给出的安装命令会根据你使用的包管理器(运行环境或锁文件)自动调整。