Как настроить задачу usemin: css для grunt для перезаписи обновленных изображений?

Я создаю сайт с помощью генератора Yeoman: https://github.com/Thomas-Lebeau/generator-bootstrap-less.

Я установил fancybox с помощью Bower, выполнив следующие действия:

  • bower install fancybox --save
  • добавить скрипт fancybox в мой блок сборки usemin в index.html
  • @import "../bower_components/fancybox/source/jquery.fancybox.css"; в мой единственный файл .less
  • наконец, скопируйте образы поставщиков fancybox, используя следующую конфигурацию в задаче copy grunt.

код:

// Gruntfile.js
...
copy: {
    dist: {
        files: [{
            expand: true,
            dot: true,
            cwd: '<%= yeoman.app %>',
            dest: '<%= yeoman.dist %>',
            src: [
                '*.{ico,png,txt}',
                '.htaccess',
                'images/{,*/}*.{webp,gif}']
        }, {
            expand: true,
            dot: true,
            cwd: '<%= yeoman.app %>/bower_components/fancybox/source',
            src: '**/*.{png,jpg,jpeg,gif}',
            dest: '<%= yeoman.dist %>/bower_components/fancybox/source'
        }]
    },
    ...

(Извините, не знаю, почему форматирование там сбивается. https://gist.github.com/ptim/8555923)

Это работает для меня, но я хотел бы сделать еще один шаг, чтобы лучше понять, что происходит. Это работает просто потому, что я копирую относительный путь, используемый в app/, когда копирую.

Я бы хотел, чтобы активы Bower были скопированы с другими моими изображениями, а пути в моем html были переписаны (как это происходит с imagemin и usemin и т. д.)

....
   }, {
      expand : true,
      dot : true,
      cwd : '<%= yeoman.app %>/bower_components/fancybox/source',
      src : '**/*.{png,jpg,jpeg,gif}',
      dest : '<%= yeoman.dist %>/images'
    }]
 ....

Как мне добиться этого, используя соглашения этого пакета?

Вот тропа, по которой я иду:

  • grunt build заканчивается copy, rev, usemin,
  • rev добавляет номер версии в файлы fancybox
  • usemin выполняет usemin:html и переписывает все имена файлов изображений, чтобы они соответствовали файлам версии.
  • usemin:css затем запускается, но не перечисляет никаких перезаписей, затем завершается grunt:

    Running "usemin:css" (usemin) task

    Processing as CSS - dist/styles/cf3b732a.main.css Update the CSS with new img filenames

    Done, without errors.

Может ли кто-нибудь предложить настройку для меня?


person ptim    schedule 22.01.2014    source источник