Vinyl#
Формат виртуального файла. Когда файл читается с помощью src(), создается объект Vinyl для представления файла, включая путь, содержимое и другие метаданные.
К объектам винила можно применить преобразования с помощью плагинов. Они также могут быть сохранены в файловой системе с помощью dest().
При создании ваших собственных объектов Vinyl - вместо создания с помощью src() - используйте внешний модуль vinyl, как показано в разделе Использование ниже.
Применение#
Подпись#
Параметры#
| параметр | тип | примечание | 
|---|---|---|
| options | object | Подробнее в Опциях ниже. | 
Возвращается#
Экземпляр класса Vinyl, представляющий один виртуальный файл, подробно описанный в экземпляре Vinyl ниже.
Ошибки#
Когда какие-либо переданные параметры не соответствуют определениям свойств экземпляра (например, если для параметра path задано число) выбрасывается, как определено в таблице.
Опции#
| наименование | тип | по умолчанию | примечание | 
|---|---|---|---|
| cwd | string | process.cwd() | Каталог, из которого будут производиться относительные пути. Будет нормализовано и конечные разделители будут удалены. | 
| base | string | Используется для вычисления свойства экземпляра relative. Возвращается к значениюcwd, если не установлено. Обычно устанавливается равным glob base. Будет нормализовано и конечные разделители будут удалены. | |
| path | string | The full, absolute file path. Будет нормализовано и конечные разделители будут удалены. | |
| history | array | [ ] | Массив путей для предварительного заполнения historyэкземпляра Vinyl. Обычно происходит от создания нового объекта Vinyl из предыдущего объекта Vinyl. Если переданы иpath, иhistory, тоpathдобавляется кhistory. Каждый элемент будет нормализован, а завершающие разделители будут удалены. | 
| stat | object | Экземпляр fs.Stats, обычно результат вызоваfs.stat()для файла. Используется для определения того, представляет ли объект Vinyl каталог или символическую ссылку. | |
| contents | ReadableStream Buffer null | null | Содержимое файла. Если contentsявляетсяReadableStream, он упаковывается в поток cloneable-readable. | 
Любые другие свойства в options будут напрямую назначены экземпляру Vinyl.
Экземпляр Vinyl#
Каждый экземпляр объекта Vinyl будет иметь свойства и методы для доступа и/или изменения информации о виртуальном файле.
Свойства экземпляра#
Все пути с внутренним управлением - любое свойство экземпляра, кроме contents и stat - нормализованы, а завершающие разделители удалены. Смотрите Нормализация и конкатенация для получения дополнительной информации.
| свойство | тип | описание | исключения | 
|---|---|---|---|
| contents | ReadableStream Buffer null | Получает и задает содержимое виртуального файла. Если установлено значение ReadableStream, он оборачивается в поток cloneable-readable. | Если установлено любое значение, кроме ReadableStream,Bufferилиnull. | 
| stat | object | Получает и задает экземпляр fs.Stats. Используется при определении того, представляет ли объект Vinyl каталог или символическую ссылку. | |
| cwd | string | Получает и задает текущий рабочий каталог. Используется для получения относительных путей. | Если установлена пустая строка или любое нестроковое значение. | 
| base | string | Получает и задает базовый каталог. Используется для вычисления свойства экземпляра relative. На объекте Vinyl, созданном с помощьюsrc()будет установлено значение glob base. Если установлено значениеnullилиundefined, возвращается к значению свойства экземпляраcwd. | Если установлена пустая строка или любое нестроковое значение (кроме nullилиundefined). | 
| path | string | Получает и задает полный абсолютный путь к файлу. Установка значения, отличного от текущего path, добавляет новый путь к свойству экземпляраhistory. | Если установлено любое нестроковое значение. | 
| history | array | Массив всех значений path, которые был назначен объекту Vinyl. Первый элемент - это исходный путь, а последний элемент - это текущий путь. Это свойство и его элементы должны рассматриваться как доступные только для чтения и изменяться только косвенно путем установки свойства экземпляраpath. | |
| relative | string | Получает относительный сегмент пути между свойствами экземпляра baseиpath. | Если установлено любое значение. При доступе, когда pathнедоступен. | 
| dirname | string | Получает и задает каталог свойства экземпляра path. | При доступе, когда pathнедоступен. | 
| stem | string | Получает и задает основу (имя файла без расширения) свойства экземпляра path. | При доступе, когда pathнедоступен. | 
| extname | string | Получает и задает расширение свойства экземпляра path. | При доступе, когда pathнедоступен. | 
| basename | string | Получает и задает имя файла ( stem + extname) свойства экземпляраpath. | При доступе, когда pathнедоступен. | 
| symlink | string | Получает и задает путь ссылки символьной ссылки. | Если установлено любое нестроковое значение. | 
Методы экземпляра#
| метод | тип, возвращаемого значения | возвращается | 
|---|---|---|
| isBuffer() | boolean | Если свойство экземпляра contentsявляется Buffer, возвращаетtrue. | 
| isStream() | boolean | Если свойство экземпляра contentsявляется Stream, возвращаетtrue. | 
| isNull() | boolean | Если свойство экземпляра contentsимеет значениеnull, возвращаетtrue. | 
| isDirectory() | boolean | Если экземпляр представляет каталог, возвращает true. Экземпляр считается каталогом, еслиisNull()возвращаетtrue, свойство экземпляраstatявляется объектом, аstat.isDirectory()возвращаетtrue. Предполагается, что объект Vinyl был создан с использованием действительного (или правильно смоделированного) объектаfs.Stats. | 
| isSymbolic() | boolean | Если экземпляр представляет собой символическую ссылку, возвращает true. Экземпляр считается символическим, еслиisNull()возвращаетtrue, свойство экземпляраstatявляется объектом, аstat.isSymbolicLink()возвращает true. Предполагается, что объект Vinyl был создан с использованием действительного (или правильно смоделированного) объектаfs.Stats. | 
| clone([options]) | object | Новый объект Vinyl со всеми клонированными свойствами. По умолчанию настраиваемые свойства глубоко клонированы. Если опция deepравнаfalse, настраиваемые атрибуты будут неглубоко клонированы. Если опцияcontentsимеет значениеfalseа свойство экземпляраcontentsявляется Buffer, Buffer будет повторно использован вместо клонированного. | 
| inspect() | string | Возвращает форматированную интерпретацию объекта Vinyl. Автоматически вызывается Node console.log. | 
Нормализация и конкатенация#
Все свойства пути нормализованы их установщиками. Объедините пути с помощью / вместо использования path.join(), и нормализация будет происходить правильно на всех платформах. Никогда не объединяйте с \ - это допустимый символ имени файла в системе POSIX.