Чисто поддерживаемые шаги concat - удаление временных файлов? - PullRequest
0 голосов
/ 01 сентября 2018

Используя grunt-contrib-concat, у меня есть следующая запись:

application: {
    files: {
      'purgatory/js/appbase.js': [
          'src/js/**/*.js', '!src/js/**/tests/**', '!src/js/**/workers/**'
      ],
      'purgatory/js/appworkers.js': [
          'src/js/workers/shared.js', 'src/js/workers/*.js'
      ],
      'purgatory/js/application.js': [
          'purgatory/js/appbase.js', 'purgatory/js/appworkers.js'
      ]
    }
}

Объяснение таково:

«Чистилище» - это то, что я называю областью постановки. Теоретически, временные файлы могут жить здесь и не обязательно делать это для производства. Итак, что происходит в задаче «application», так это то, что я создаю временный файл с именем «appbase», который содержит большую часть моей логики, кроме моих веб-работников и тестов. Я делаю рабочую фазу отдельно, потому что порядок важен. Затем я собираю два временных файла в окончательный файл приложения.

Работает.

Но мой текущий процесс в конечном итоге просто захватывает ВСЕ чистилища / js, потому что до сегодняшнего дня ни один из моих файлов не был временным, все они были конечными целями. Я хотел бы продолжить делать это вместо того, чтобы детализировать этап копирования или сначала выполнить очистку временных файлов.

Я не могу не чувствовать, что упускаю возможность прямо в grunt-contrib-concat.

Что-то, что идет,

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

Мне кажется, что если бы я лучше понимал карту назначения, я мог бы сделать все это за один раз вместо того, чтобы возиться с двумя временными файлами. Конечная цель - отправлять «application.js» только в чистилище. Это означает, что нет других временных файлов, которые нужно очистить или как-то иначе обработать. Есть предложения?

1 Ответ

0 голосов
/ 05 сентября 2018

Что ж, ответ был направлен прямо мне в глаза: вам просто нужно думать о списке путей как о прогрессивно построенном фильтре. Таким образом, вы можете исключить всех «рабочих» ранее из списка, а затем включить определенные упорядоченные файлы впоследствии. Все в одной записи:

application: {
    files: {
      'purgatory/js/application.js': [
          'src/js/**/*.js', '!src/js/**/tests/**', '!src/js/**/workers/**', 'src/js/workers/shared.js', 'src/js/workers/*.js'
      ]
}

Конечно, сделав это, вы можете просто использовать свойства src / dest, если вам это удобнее.

...