Настройте grunt.js для минимизации файлов один за другим в папке Bower.

У меня есть зависимости приложения в bower_components, некоторые из зависимостей не имеют уменьшенной версии, поэтому я хочу создать задачу, создающую уменьшенную копию версия файла в том же месте, где находится файл, например:

  • bower_components
    • lib1
      • lib1.js
      • lib1.min.js ‹- создайте этот файл, если он не существует
    • lib2
      • lib2.js
      • lib2.min.js ‹- создайте этот файл в собственной папке lib2
    • lib3
      • lib3.js
      • lib3.min.js ‹- и так далее...

Это моя конфигурация ворчания:

 uglify: {
        dev: {
            files:[
            {
                expand: true,
                src: 'bower_components/modernizr/modernizr.js',
                dest: '/',
                ext:'.min.js'
            }, {
                expand: true,
                src: 'bower_components/angular-facebook/lin/angular-facebook.js',
                dest: '/',
                ext: '.min.js'
            }]
            },
                main: {
                    src: 'temp/app.min.js',
                    dest:'dist/app.min.js'
                }
            }

задание Grunt говорит, что скопировал modernizr в свою папку, но когда я смотрю на него, файла там нет, и после первого файла Grunt переходит к следующему заданию и игнорирует «второй» файл в массиве.

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

Кстати, я не против изменить задачу на любую другую библиотеку.


person pedrommuller    schedule 04.12.2014    source источник


Ответы (1)


/ в вашей опции dest означает корневой путь (где находится ваш gruntfile). просто удалите опцию dest или поместите туда пустую строку.

важно: это работает только с набором опций expand!

{
  expand: true,
  src: 'bower_components/modernizr/modernizr.js',
  ext:'.min.js'
}

Изменить:

для сканирования всех папок и минимизации всех js-файлов сделайте это так (обратите внимание на второй аргумент в src, чтобы не минимизировать файлы, которые уже минимизированы):

{
  expand: true,
  src: ['bower_components/**/*.js', '!bower_components/**/*.min.js'],
  ext:'.min.js'
}
person hereandnow78    schedule 04.12.2014
comment
как насчет сканирования N файлов в папке Bower_components? - person pedrommuller; 04.12.2014