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覆盖已存在的文件,不再询问。

#写入位置

按以下顺序决定目标目录:

  1. 传入了 --dir:使用该目录。
  2. tsconfig.json / tsconfig.app.json / jsconfig.json 中配置了 @/*、~/* 或 #/* 别名:写入 <别名根目录>/components/elyri。
  3. 项目有 src/ 目录:写入 src/components/elyri。
  4. 否则写入 components/elyri。

#已有文件

CLI 会先检查全部目标文件,只要有一个已存在就不写入任何文件。在终端中会询问是否覆盖;在 CI 等非交互环境中会直接退出,需要显式传入 --overwrite。

覆盖会丢弃你对该组件做过的修改,建议先提交到版本控制。

#常见报错

报错处理
Missing @elyri/motion包还没安装,按提示的命令安装后重试。
@elyri/motion@x does not ship …已安装的包版本过旧,不包含该组件,升级到 @latest。
Unknown component: …名称拼写有误,运行 list 查看可用名称。

报错中给出的安装命令会根据你使用的包管理器(运行环境或锁文件)自动调整。