Files
vue-cli/docs/ru/dev-guide/generator-api.md
T
Alexander Sokolov 02f2436bdb docs: [RU] Translation update (#4917)
* docs: (ru) config/README.md update devServer example

* docs: (ru) creating-a-project.md update

* docs: css.md add less examples

* docs: browser-compatibility.md update

* docs: deployment.md update

* docs: (ru) config/readme.md update

* docs: (ru) deployment.md update

* docs: (ru) prototyping.md add yarn command

* docs: config.md fix

* docs: ui-localization.md typo

* docs: [RU] Translation update

* docs: [RU] Translation update

* docs: vuex.md added

* docs: router.md added

* docs: migration from v3 added

* docs: config.js updated

* docs: config/readme.md updated

* docs: unit-mocha.md updated

* docs: css.md updated

* docs: cli-service.md updated

* docs: generator-api.md updated

* docs: build-target.md update

* docs: deployment.md update

* docs: e2e-nightwatch.md update

* docs: unit-jest.md update

* docs: e2e-nightwatch.md update

* docs: migrating-from-v3.md update

* docs: plugin-dev.md update

* docs: plugin-dev.md update

* docs: plugin-dev.md update

* docs: plugin-dev.md update
2019-12-06 15:24:09 +08:00

180 lines
7.6 KiB
Markdown

# API генератора
## cliVersion
Тип: `string`
Строка **глобальной** версии `@vue/cli`, вызывающей подключаемый плагин.
## assertCliVersion
- **Аргументы**
- `{integer | string} range` — semver диапазон, которому должна соответствовать `@vue/cli`
- **Использование**
Хотя `api.version` и может быть полезным, иногда приятнее просто объявить требуемую версию. Данный API предоставляет простой способ сделать это.
Ничего не произойдёт, если предоставленная версия устраивает. В противном случае, будет выдана ошибка.
## cliServiceVersion
Тип: `string`
Строка **локальной для проекта** версии `@vue/cli-service`, вызывающей подключаемый плагин.
## assertCliServiceVersion
- **Аргументы**
- `{integer | string} range` — semver диапазон, которому должна соответствовать `@vue/cli-service`
- **Использование**
Данный API предоставляет простой способ указания требуемой локальной версии `@vue/cli-service`.
Ничего не произойдёт, если предоставленная версия устраивает. В противном случае, будет выдана ошибка.
Примечание: Рекомендуется использовать [поле `peerDependencies` в файле `package.json`](https://docs.npmjs.com/files/package.json#peerdependencies) в большинстве случаев.
## resolve
- **Аргументы**
- `{string} ..._paths` — Последовательность относительных путей или сегментов пути
- **Возвращает**
- `{string}` — разрешённый (resolved) абсолютный путь, вычисленный на основе текущего корня проекта
- **Использование**:
Разрешение пути для текущего проекта
## hasPlugin
- **Аргументы**
- `{string} id` — идентификатор плагина, можно опустить префикс (@vue/|vue-|@scope/vue)-cli-plugin-
- `{string} version` — semver диапазон, опционально
- **Возвращает**
- `{boolean}`
- **Использование**:
Проверяет есть ли в проекте плагин с указанным идентификатором. Если указан диапазон версий, то версия плагина должна соответствовать ему.
## addConfigTransform
- **Аргументы**
- `{string} key` — ключ конфигурации в package.json
- `{object} options` — настройки
- `{object} options.file` — дескриптор файла. Используется для поиска существующего файла. Каждый ключ определяет тип файла (возможные значения: `['js', 'json', 'yaml', 'lines']`). Значение представляет собой список имён файлов. Например:
```js
{
js: ['.eslintrc.js'],
json: ['.eslintrc.json', '.eslintrc']
}
```
По умолчанию первое имя файла будет использоваться для создания файла конфигурации.
- **Возвращает**
- `{boolean}`
- **Использование**:
Настройка способа извлечения конфигурации.
## extendPackage
- **Аргументы**
- `{object | () => object} fields` — поля для объединения
- **Использование**:
Расширение `package.json` проекта. Вложенные поля объединяются, если не передавалось `{ merge: false }`. Также используется для разрешения конфликтов зависимостей между плагинами. Поля конфигурации инструмента могут быть извлечены в отдельные файлы до того, как файлы будут записаны на диск.
## render
- **Аргументы**
- `{string | object | FileMiddleware} source` — может быть одним из
- относительный путь к каталогу;
- хэш объект соответствий `{ sourceTemplate: targetFile }`;
- пользовательский файл с middleware функцией
- `{object} [additionalData]` — дополнительные данные, доступные для шаблонов
- `{object} [ejsOptions]` — настройки для ejs
- **Использование**:
Рендер файлов шаблонов в дерево виртуальных файлов.
## postProcessFiles
- **Аргументы**
- `{FileMiddleware} cb` — файл middleware
- **Использование**:
Добавление файла middleware, который будет выполняться после того, как все обычные middleware были выполнены.
## onCreateComplete
- **Аргументы**
- `{function} cb`
- **Использование**:
Добавление коллбэка, который будет вызываться после записи файлов на диск.
## exitLog
- **Аргументы**
- `{} msg` — строка или значение для отображения после завершения генерации;
- `{('log'|'info'|'done'|'warn'|'error')} [type='log']` — тип сообщения.
- **Использование**:
Добавление сообщения для отображения по завершении генерации (после любых других стандартных сообщений).
## genJSConfig
- **Аргументы**
- `{any} value`
- **Использование**:
Удобный способ создания JS файла конфигурации из JSON
## 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}`
- **Использование**:
Проверка, вызван ли плагин.