Gulp не перезаписывает файлы JS - PullRequest
0 голосов
/ 03 июля 2018

У меня проблема при попытке перезаписать файл с помощью gulp. Чтобы вы поняли мою проблему, вот пример того, что я пытаюсь сделать: Путь к файлу моего проекта:

- Project
 |- clients
   |- clientBase
     |- JS
       |- jsexample.js
       |- jsexample2.js
     |- CSS
     |- HTML
   |- client1
     |- JS
       |- jsexample2.js
 |-dist
  1. Скопируйте базовый источник в dist.
  2. Скопируйте пользовательский исходный код клиента и перезапишите содержимое папки dist.

Что я делаю

const args = require('yargs').argv;
const src = {
  base: './Project/clients/clientBase',
  client: `./Project/clients/${args.client}`,
};
const dist = './Project/dist';
const runSequence = require('run-sequence');

gulp.task('copy:base', function(){
  return gulp
    .src(`${src.base}/**/*`)
    .pipe(gulp.dest(dist))
});

gulp.task('copy:client', function(){
  return gulp
    .src(`${src.client}/**/*`)
    .pipe(gulp.dest(dist))
});

gulp.task('copy', function(){
  if (args.client) {
    runSequence('copy:base', 'copy:client');
  } else {
    runSequence('copy:base');
  }
});

Актуальная проблема

Проблема в том, что файлы dist не перезаписываются задачей copy:client.

То, что я уже проверил

Я проверил путь к файлу и содержимое внутри файлов. Аргумент client передается, поэтому эта задача выполняется.

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

После еще одного исследования я заметил, что в моей цепочке последовательности задач в default task была еще одна задача, снова копирующая базовый код, без какой-либо регистрации.

0 голосов
/ 03 июля 2018

dist необходимо указать:

.pipe(gulp.dest('dist'))

Вам также может понадобиться изменить путь в зависимости от того, где вы запускаете gulp с

...