@varlet/cli

cli of varlet
30,331 5,338
Install
npm install @varlet/cli
Latest Version:3.20.7
Vue:3
License:MIT
Last Updated:Oct 21, 2026
Links: GitHub  ·  npm
Maintainer: haozijunqaq

组件库快速成型工具

介绍

开箱即用的 Vue3组件库 快速成型工具,提供了一系列命令和工具去解决组件库开发上的问题。

特性

  • 📦  开箱即用的组件库开发环境
  • 📦  开箱即用的组件库编译工具,支持导出 esm, cjs, umd 三种模块代码
  • 🛠️  基于配置文件的组件库文档站点,支持百度统计和主题定制
  • 🛠️  支持 sfc 和 tsx 两种风格的组件库编写风格
  • 📦  开箱即用的代码检查工具
  • 📦  开箱即用的单元测试工具
  • 📦  开箱即用的代码发布工具,同时发布到 npm 和 github, 并自动生成更新日志
  • 💪  支持 VSCode 插件开发
  • 💪  支持 字体图标打包
  • 💪  支持 Typescript
  • 💪  支持 多种主题, 包含 Material Design 2、Material Design 3
  • 🌍  支持 国际化
  • 🚀  基于 pnpm

推荐技术栈

在全新的 Varlet 组件库工具链 体系下,我们建议将 @varlet/cli、vite-plus(vp)与 rattail(rt)组合使用:前者覆盖组件库文档站与编译等一等能力,后两者承接与 Oxc / Rolldown 栈一致的 lint、format、打包入口,以及 clean、git hooks、changelog、release、commit-lint 等工程自动化。无论是从零搭建新库,还是升级旧脚手架、需要与模板对齐时,都推荐沿用这一组合。

部分 作用
@varlet/cli Varlet 一等能力:create、gen、dev、build、preview、compile、compile:style-vars、build:icons、test 等
vite-plus(vp) 与 Oxc / Rolldown 栈一致的 lint、format、应用/扩展的 build/dev/preview 等入口
rattail(rt) clean、git hooks、changelog、release、commit-lint 等工程自动化

以下命令即将废弃

以下命令仍可执行(会给出废弃相关提示),但不应在新脚本或新工程中再依赖,请优先改用 vp / rt(或文档中的 vr)。具体时间表以后续发布说明为准。

命令 请改用
varlet-cli dev:vite vp dev
varlet-cli build:vite vp build
varlet-cli dev:extension vp pack --watch(扩展包内需有本地 vite.config.ts)
varlet-cli build:extension vp pack
varlet-cli commit-lint rt commit-lint
varlet-cli checklist 用处极小,直接废弃
varlet-cli changelog rt changelog
varlet-cli release rt release

快速开始

@varlet/cli 内置了 sfc 和 tsx 两种风格的组件库项目模板,可以通过 gen 命令直接生成。 方便您直接进入组件库开发。

# playground-ignore
pnpm add @varlet/cli -g
varlet-cli gen

高级定制

配置文件

项目根目录下的 varlet.config.mjs 用来管理整个组件库项目的具体细节。 默认配置可查阅 varlet.default.config.ts。 也可以参考 @varlet/ui 的 varlet.config.mjs。

参数 说明 类型 默认值
name 组件库全名,会作为包名 string Varlet
namespace 组件库命名空间, 会作为组件前缀 string var
host 开发服务器主机 number localhost
port 开发服务器端口 number 8080
proxy 开发服务器代理 Record<string, string | ProxyOptions> -
title 文档中组件库的标题 string VARLET
logo 文档中组件库的 logo string -
alias 路径别名 (使用相对路径时,根路径为 src 文件夹) Record<string, string> -
defaultLanguage 文档默认语言 string zh-CN
defaultLightTheme 默认的亮色主题 string md3LightTheme
defaultDarkTheme 默认的暗色主题 string md3DarkTheme
useMobile 是否显示右侧手机预览 boolean false
themeKey 主题在本地存储中的 key string VARLET_THEME
lightTheme md2 亮色模式文档主题 Record<string, any> -
darkTheme md2 暗黑模式文档主题 Record<string, any> -
md3LightTheme md3 亮色模式文档主题 Record<string, any> -
md3DarkTheme md3 暗黑模式文档主题 Record<string, any> -
highlight 文档代码片段样式相关 { style: string } -
analysis 文档统计相关 { baidu: string } -
pc pc 端文档结构配置 VarletConfigPc -
mobile mobile 端文档结构配置 VarletConfigMobile -
bundle 组件库编译的捆绑产物配置 { external: string[], globals: Record<string, string> } -
vitePlugins vite 插件 Plugin[] | (plugins: Plugin[]) => Plugin[]) -
directives 组件库指令文件夹名称 string[] []
copy 复制文件配置 CopyPath[] -
icons 字体图标打包相关配置 VarletConfigIcons -
esbuild esbuild 配置 VarletConfigEsbuild -
seo seo 选项 VarletConfigSeo -
Menu
参数 说明 类型 默认值
doc 文档页面应匹配的文件名称, 必填 string -
type menu 类型, 当 type 为 1 时表示分类 menu, 类型为 2 时 doc 字段匹配 src 下的组件文件, 类型为3时 doc 字段匹配 docs 下的 md 文件 MenuTypes -
text menu 所展示的文字, 当设置国际化时可配置英文展示文字 Record<string, string> -
useMobile 是否在当前文档页显示右侧手机预览, 如不填写, 默认取 config 中的 useMobile boolean -

自定义页面

如果想在组件库中插入其他页面,可以在项目根目录下的创建 pages 文件夹编写 vue 组件, 用来生成其他的页面。 目录结构如下:

// playground-ignore
|-- varlet-ui
  |-- src
  |-- docs
  |-- pages
    |-- sponsor
      |-- index.vue
    |-- contributor
      |-- locale
        |-- en-US.ts
      |-- index.vue
    |-- changelog
      |-- locale
        |-- zh-CN.ts
        |-- en-US.ts
      |-- index.vue

生成的路由如下:

// playground-ignore
/zh-CN/sponsor
/en-US/contributor
/zh-CN/changelog
/en-US/changelog

命令相关

启动开发服务器
# playground-ignore
varlet-cli dev
# force mode
varlet-cli dev -f
# draft mode
varlet-cli dev -d
构建文档站点
# playground-ignore
varlet-cli build
预览文档站点
# playground-ignore
varlet-cli preview
# set port number
varlet-cli preview -p <port>
构建组件库
# playground-ignore
varlet-cli compile
构建样式变量类型声明文件
# playground-ignore
varlet-cli compile:style-vars
打包字体图标
# playground-ignore
varlet-cli build:icons -w
varlet-cli build:icons
执行所有的单元测试
# playground-ignore
varlet-cli test
执行单个组件的单元测试
# playground-ignore
varlet-cli test -c <componentName>
以 watch 模式执行单元测试
# playground-ignore
varlet-cli test -w
执行所有的单元测试并报告覆盖率
# playground-ignore
varlet-cli test -cov
生成一个项目模板
# playground-ignore
varlet-cli gen

# Options
-n
--name
  项目名
-s
--sfc
  生成 sfc 风格的项目模板
-t
--tsx
  生成 tsx 格式项目
-l
--locale
  需要支持国际化
创建组件模板文件
# playground-ignore
varlet-cli create

# Options
-n
--name
  组件名
-s
--sfc
  生成 sfc 风格的组件
-t
--tsx
  生成 tsx 风格的文件
-l
--locale
  需要支持国际化

发布前注意

  1. npm 的仓库源必须指向 npm 官方镜像
  2. 执行 npm login 进行登录

问答

如何解决安装 sharp 失败的问题 ?
  • 您可以选择更改包含 sharp 和 libvips 二进制文件的镜像站点
pnpm config set sharp_binary_host "https://npmmirror.com/mirrors/sharp"
pnpm config set sharp_libvips_binary_host "https://npmmirror.com/mirrors/sharp-libvips"

Related Packages

dsj-pc-cli

cli of varlet

545 5,341
@mingto/mt-cli

明途脚手架工具

2,568
cli
mgo-cli

create a vue3 webapp by demand

2,096
cli
@vue/babel-preset-app

babel-preset-app for vue-cli

30,515,167 29,510
@vue/cli-service

local service for vue-cli projects

29,737,870 29,510

Version History

Version Released License
3.20.7 MIT
3.20.6 MIT
3.20.5 MIT
3.20.4 MIT
3.20.3 MIT
Pre-releases (416)
Version Released License
3.18.0-alpha.1781276267923 MIT
3.18.0-alpha.1781201095903 MIT
3.18.0-alpha.1781192892883 MIT
3.18.0-alpha.1781190469654 MIT
3.16.0-alpha.1778506868488 MIT