Я создаю сайт с помощью генератора 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, используя следующую конфигурацию в задаче
copygrunt.
код:
// 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'
}]
....
Как мне добиться этого, используя соглашения этого пакета?
- (Я видел альтернативные предложения: Как переписать URL-адреса изображений в файлах CSS поставщика с помощью Grunt)
- Я пытался изменить
dest: pathи добавитьflatten: true
Вот тропа, по которой я иду:
grunt buildзаканчиваетсяcopy,rev,usemin,revдобавляет номер версии в файлы fancybox- usemin выполняет usemin:html и переписывает все имена файлов изображений, чтобы они соответствовали файлам версии.
usemin:css затем запускается, но не перечисляет никаких перезаписей, затем завершается grunt:
Running "usemin:css" (usemin) taskProcessing as CSS - dist/styles/cf3b732a.main.cssUpdate the CSS with new img filenamesDone, without errors.
Может ли кто-нибудь предложить настройку для меня?