2014-01-16 3 views
7

При запуске uglify мне нужно заставить его игнорировать определенные файлы и папки, но при этом рекурсивно сканировать всю структуру папок.Grunt Uglify - игнорировать определенные файлы/папки

У меня есть задача concat, которая объединяет все мои плагины и делает их одним файлом. Мне нужно убедиться, что uglify игнорирует эти файлы и не работает с ними, потому что я не хочу их в целевом каталоге, поскольку concat уже обрабатывал это для меня.

Я попытался добавить файлы и папки в свой массив src с предшествующим!, Но он по-прежнему работает на них.

Ниже то, что я пытаюсь использовать, но это не работает:

uglify: { 
    options: { 
     banner: '/*! <%= grunt.template.today("mm-dd-yyyy h:MM:ss TT") %> */\n' 
    }, 
    files: { 
     src: [ 
       '!ie' 
       ,'!polyfills' 
       ,'!vendor' 
       ,'!iecompat.js' 
       ,'**/*.js' 
      ], 
     dest: 'app/scripts', 
     cwd: 'sources/scripts', 
     ext: ".js", 
     flatten: false, 
     expand: true 
    } 
}, 
+4

Лучше разделить ваши сценарии в две папки. Используйте uglify на одном и concat - на другом. Это намного проще, и все это делают. –

+0

Я старался держаться подальше от необходимости делать это, поскольку у меня много разработчиков, которые не поймут, но если это единственный способ, я буду использовать его в качестве последнего средства. – StephenRios

+0

Допустим, что завтра ваши разработчики добавят другую библиотеку. Но, эй, это не исключено и разрушить их сборку. Я думаю, что эта «сложная идея» разделения активов будет проще для всех, и не слишком сложно объяснить. –

ответ

7

Илан Frumer предложение, вероятно, является хорошим.

Теперь о вашем конкретном вопросе, ваши шаблоны, безусловно, должны быть адаптированы следующим образом:

Пример:

'!**/ie/*' 

проигнорирует любой файл в папку с именем «то есть» где-нибудь в ваших подкаталогов (который, вероятно, что вы хотите, это правильно)

То же самое относится:

'!**/iecompat.js' 

, который будет игнорировать файл с именем iecompat.js в любом месте в папках/подпапках.

Вы должны начать с here, чтобы лучше понять механизмы выбора файлов в grunt.

+0

Это не сработало для меня. Все еще содержит подпапку. – geoidesic

1

Вышеприведенный ответ не сработал для меня, потому что это (насколько я могу судить) поиск под-подпапки, а не подпапки.

Это то, что работает для меня:

'!ie/**' 
Смежные вопросы