⚠️ Vue CLI 处于维护模式!

对于新项目,现在建议使用 create-vue 来搭建基于 Vite 的项目。还可以参考 Vue 3 工具指南 获取最新建议。

生成器 API

cliVersion

类型: string

调用插件的 全局 @vue/cli 版本的版本字符串。

assertCliVersion

  • 参数

    • {integer | string} range - @vue/cli 需要满足的语义化版本范围
  • 用法

    虽然 api.version 通常很有用,但有时只需声明你的版本。此 API 提供了一种简单的方法来实现这一点。

    如果提供的版本满足,则不会发生任何事情。否则,将抛出错误。

cliServiceVersion

类型: string

调用插件的 项目本地 @vue/cli-service 版本的版本字符串。

assertCliServiceVersion

  • 参数

    • {integer | string} range - @vue/cli-service 需要满足的语义化版本范围
  • 用法

    此 API 提供了一种简单的方法来声明所需的项目本地 @vue/cli-service 版本。

    如果提供的版本满足,则不会发生任何事情。否则,将抛出错误。

    注意:在大多数情况下,建议使用 package.json 中的 peerDependencies 字段

resolve

  • 参数

    • {string} ..._paths - 一系列相对路径或路径段
  • 返回值

    • {string} - 解析后的绝对路径,根据当前项目根目录计算得出
  • 用法:解析当前项目的路径

hasPlugin

  • 参数

    • {string} id - 插件 ID,可以省略 (@vue/|vue-|@scope/vue)-cli-plugin- 前缀
    • {string} version - 语义化版本范围,可选
  • 返回值

    • {boolean}
  • 用法:检查项目是否具有给定 ID 的插件。如果给出了版本范围,则插件版本应满足该范围

addConfigTransform

  • 参数

    • {string} key - package.json 中的配置键
    • {object} options - 选项
    • {object} options.file - 文件描述符。用于搜索现有文件。每个键都是一个文件类型(可能的值:['js', 'json', 'yaml', 'lines'])。值是一个文件名列表。例如
    {
      js: ['.eslintrc.js'],
      json: ['.eslintrc.json', '.eslintrc']
    }
    

    默认情况下,将使用第一个文件名来创建配置文件。

  • 返回值

    • {boolean}
  • 用法:配置如何提取配置文件。

extendPackage

  • 参数

    • {object | () => object} fields - 要合并的字段
  • 用法:扩展项目的 package.json。嵌套字段将深度合并,除非传递了 { merge: false }。还会解决插件之间的依赖冲突。工具配置字段可能会在将文件写入磁盘之前提取到独立文件中。

render

  • 参数

    • {string | object | FileMiddleware} source - 可以是以下之一
      • 指向目录的相对路径;
      • { sourceTemplate: targetFile } 映射的 object 哈希;
      • 自定义文件中间件函数
    • {object} [additionalData] - 可用于模板的附加数据
    • {object} [ejsOptions] - ejs 的选项
  • 用法:将模板文件渲染到虚拟文件树对象中。

postProcessFiles

  • 参数

    • {FileMiddleware} cb - 文件中间件
  • 用法:推送一个文件中间件,该中间件将在所有正常文件中间件应用后应用。

onCreateComplete

  • 参数

    • {function} cb
  • 用法:推送一个回调函数,该函数将在文件写入磁盘后调用。

exitLog

  • 参数

    • {} msg - 在生成完成后要打印的字符串或值;
    • {('log'|'info'|'done'|'warn'|'error')} [type='log'] - 消息类型。
  • 用法:添加一个消息,以便在生成器退出时(在任何其他标准消息之后)打印。

genJSConfig

  • 参数

    • {any} value
  • 用法:从 JSON 生成 JS 配置文件的便捷方法

makeJSOnlyValue

  • 参数

    • {any} str - 作为字符串的 JS 表达式
  • 用法:将字符串表达式转换为可执行的 JS,用于 .js 配置文件

injectImports

  • 参数

    • {string} file - 要添加导入的目标文件
    • {string | [string]} imports - 导入字符串/数组
  • 用法:向文件添加导入语句。

injectRootOptions

  • 参数

    • {string} file - 要添加选项的目标文件
    • {string | [string]} options - 选项字符串/数组
  • 用法:向根 Vue 实例添加选项(通过 new Vue 检测到)。

entryFile

  • 返回值

    • {('src/main.ts'|'src/main.js')}
  • 用法:获取入口文件,同时考虑 typescript。

invoking

  • 返回值

    • {boolean}
  • 用法:检查插件是否正在被调用。