src()#

Создает поток для чтения объектов Vinyl из файловой системы.

Примечание: Спецификации BOM (метки порядка байтов) не имеют смысла в UTF-8 и будут удалены из файлов UTF-8, читаемых src(), если они не отключены с помощью опции removeBOM.

Применение#

const { src, dest } = require('gulp');
function copy() {
return src('input/*.js')
.pipe(dest('output/'));
}
exports.copy = copy;

Подпись#

src(globs, [options])

Параметры#

параметртиппримечание
globsstring
array
Globs для просмотра файловой системы.
optionsobjectПодробно в Опциях ниже.

Возвращается#

Поток, который можно использовать в начале или в середине конвейера для добавления файлов на основе заданных глобов.

Ошибки#

Когда аргумент globs может соответствовать только одному файлу (например, foo/bar.js) и совпадений не найдено, выдает ошибку с сообщением «Файл не найден с единичным глобом». Чтобы подавить эту ошибку, установите для опции allowEmpty значение true.

Когда в globs задан недопустимый глоб, выдает ошибку с сообщением «Недопустимый аргумент глоба».

Опции#

Для параметров, которые принимают функцию, переданная функция будет вызываться с каждым объектом Vinyl и должна возвращать значение другого перечисленного типа.

наименованиетиппо умолчаниюпримечание
bufferboolean
function
trueЕсли установлено значение true, содержимое файла буферизуется в памяти. Если false, свойство объекта Vinyl contents будет приостановленным потоком. Буферизация содержимого больших файлов может оказаться невозможной.
Примечание: Плагины могут не поддерживать потоковую передачу содержимого.
readboolean
function
trueЕсли false, файлы не будут прочитаны, а их объекты Vinyl не будут доступны для записи на диск через .dest().
sincedate
timestamp
function
Если установлено, создает объекты Vinyl только для файлов, измененных с указанного времени.
removeBOMboolean
function
trueЕсли задано значение true, удаляет спецификацию из файлов в кодировке UTF-8. Если false, игнорирует спецификацию.
sourcemapsboolean
function
falseЕсли true, включает поддержку sourcemaps для созданных объектов Vinyl. Загружает встроенные карты источников и разрешает ссылки на внешние карты источников.
resolveSymlinksboolean
function
trueЕсли установлено значение true, рекурсивно разрешает символические ссылки на их цели. Если false, символические ссылки сохраняются, а для свойства symlink объекта Vinyl устанавливается путь к исходному файлу.
cwdstringprocess.cwd()Каталог, который будет объединен с любым относительным путем, чтобы сформировать абсолютный путь. Игнорируется для абсолютных путей. Используйте, чтобы избежать объединения globs c path.join().
Эта опция передается непосредственно glob-stream.
basestringЯвно установите свойство base для созданных объектов Vinyl. Подробно в Концепции API.
Эта опция передается непосредственно в glob-stream.
cwdbasebooleanfalseЕсли true, параметры cwd и base должны быть выровнены..
Эта опция передается непосредственно в glob-stream.
rootstringКорневой путь, по которому разрешаются globs.
Эта опция передается непосредственно в glob-stream.
allowEmptybooleanfalseЕсли установлено значение false, globs, который может соответствовать только одному файлу (например, foo/bar.js) вызывает ошибку, если они не находят совпадения. Если true, подавляет сбои glob.
Эта опция передается непосредственно в glob-stream.
uniqueBystring
function
'path'Удалите дубликаты из потока, сравнив имя свойства строки или результат функции.
Примечание: При использовании функции функция получает передаваемые данные (объекты, содержащие свойства cwd, base, path).
dotbooleanfalseЕсли true, сравнивайте глобы с точечными файлами, такими как .gitignore.
Эта опция передается непосредственно в node-glob.
silentbooleantrueWhen true, подавляет печать предупреждений на stderr.
Примечание: Эта опция передается непосредственно в node-glob but defaulted to true instead of false.
markbooleanfalseЕсли true, к совпадениям каталогов будет добавлен символ /. Обычно не требуется, поскольку пути в конвейере нормализованы..
Эта опция передается непосредственно в node-glob.
nosortbooleanfalseЕсли true, отключает сортировку результатов glob.
Эта опция передается непосредственно в node-glob.
statbooleanfalseЕсли true, для всех результатов вызывается fs.stat(). Это добавляет дополнительные накладные расходы и, как правило, не должно использоваться.
Эта опция передается непосредственно в node-glob.
strictbooleanfalseЕсли true, будет выдана ошибка, если возникнет неожиданная проблема при попытке чтения каталога.
Эта опция передается непосредственно в node-glob.
nouniquebooleanfalseКогда false, предотвращает дублирование файлов в результирующем наборе.
Эта опция передается непосредственно в node-glob.
debugbooleanfalseЕсли true, отладочная информация будет записана в командную строку.
Эта опция передается непосредственно в node-glob.
nobracebooleanfalseЕсли true, избегает раскрытия наборов фигурных скобок - например: {a,b} или {1..3}.
Эта опция передается непосредственно в node-glob.
noglobstarbooleanfalseЕсли true, рассматривает символ шара с двумя звездами как символ шара с одной звездой.
Эта опция передается непосредственно в node-glob.
noextbooleanfalseЕсли true, исключает сопоставление шаблонов extglob - например, +(ab).
Эта опция передается непосредственно в node-glob.
nocasebooleanfalseЕсли true, выполняет поиск без учета регистра.
Примечание: В файловых системах без учета регистра немагические шаблоны будут совпадать по умолчанию.
Эта опция передается непосредственно в node-glob.
matchBasebooleanfalseЕсли true и globs не содержат символов /, просматривает все каталоги и сопоставляет этот глоб - например, *.js будет рассматриваться как эквивалент **/*.js.
Эта опция передается непосредственно в node-glob.
nodirbooleanfalseЕсли true, соответствует только файлам, а не каталогам.
Примечание: Чтобы соответствовать только каталогам, завершите глоб символом /.
Эта опция передается непосредственно в node-glob.
ignorestring
array
Globs , которые нужно исключить из совпадений. Эта опция комбинируется с инвертированными globs.
Примечание: Эти глобы всегда сопоставляются с точечными файлами, независимо от любых других настроек.
Эта опция передается непосредственно в node-glob.
followbooleanfalseЕсли true, каталоги, связанные с символьными ссылками, будут перемещаться при раскрытии globs **.
Примечание: Это может вызвать проблемы с циклическими ссылками.
Эта опция передается непосредственно в node-glob.
realpathbooleanfalseЕсли true, для всех результатов вызывается fs.realpath(). Это может привести к зависанию ссылок.
Эта опция передается непосредственно в node-glob.
cacheobjectРанее созданный объект кеша - позволяет избежать некоторых вызовов файловой системы.
Эта опция передается непосредственно в node-glob.
statCacheobjectРанее созданный кеш результатов fs.Stat - позволяет избежать некоторых вызовов файловой системы.
Эта опция передается непосредственно в node-glob.
symlinksobjectРанее созданный кеш символьных ссылок - позволяет избежать некоторых вызовов файловой системы.
Эта опция передается непосредственно в node-glob.
nocommentbooleanfalseКогда false, трактует символ # в начале глоба, как комментарий.
Эта опция передается непосредственно в node-glob.

Исходные карты#

Поддержка Sourcemap встроена непосредственно в src() и dest(), но по умолчанию отключена. Включите его для создания встроенных или внешних исходных карт.

Встроенные исходные карты:

const { src, dest } = require('gulp');
const uglify = require('gulp-uglify');
src('input/**/*.js', { sourcemaps: true })
.pipe(uglify())
.pipe(dest('output/', { sourcemaps: true }));

Внешние исходные карты:

const { src, dest } = require('gulp');
const uglify = require('gulp-uglify');
src('input/**/*.js', { sourcemaps: true })
.pipe(uglify())
.pipe(dest('output/', { sourcemaps: '.' }));