Gulp: копировать все файлы, но исключить одно расширение - PullRequest
0 голосов
/ 14 декабря 2018

Я работаю над проектом Typescript и пытаюсь реализовать Gulp.В моей папке src/ есть файлы с разными расширениями.

Я настроил Gulp для переноса каждого файла *.ts в Javascript с помощью Babel и для вывода файлов определения типа с помощью компилятора Typescript.Я хотел бы, чтобы все другие файлы были скопированы в папку dist/.

const {
  dest,
  src
} = require("gulp");

function cp() {
  return src("src/**/*.*", "!(src/**/*.ts)")
    .pipe(dest("./dist"));
};

exports.cp = cp;

Я бы хотел, чтобы функция cp копировала все файлы, кроме файлов с расширением .ts, в dist/папка.

Приведенный выше код работает, если я определяю расширения, которые хочу скопировать, и избегаю использования подстановочного расширения.Я нашел много примеров в Интернете, но они обычно не используют подстановочные знаки.Я не уверен, что проблема связана с моим отрицанием или использованием подстановочного расширения.Есть ли способ сделать это?

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Нашел!

Решение было написано черным по белому в официальной документации метода src ().Вот исправление:

const {
  dest,
  src
} = require("gulp");

function cp() {
  return src(["src/**/*.*", "!src/**/*.ts"])
    .pipe(dest("./dist"));
};

exports.cp = cp;
0 голосов
/ 14 декабря 2018

Попробуйте

"!src/**/*.ts"

Снимите закрывающие скобки, которые у вас были "!(src/**/*.ts)".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...