Grunt usemin не может вставить пути обновленного изображения в частичные части нефрита

Я использую стандартный генератор углового полного стека yoman - эта проблема возникает при выполнении grunt serve:dist. Изображения успешно изменены, но обновленные пути к изображениям не добавляются ни в одно из представлений Jade.

Блок usemin:

usemin: {
  html: ['<%= yeoman.dist %>/views/**/*.html',
         '<%= yeoman.dist %>/views/**/*.jade'],
  css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
  options: {
    assetsDirs: ['<%= yeoman.dist %>/public']
  }
},

Я изменил цель html на рекурсивную подстановку, так как большинство моих нефритовых файлов находятся в каталоге «partials». Тем не менее, новый проект angular-fullstack также имеет файлы jade в каталоге partials, и замена изображений работает, как и ожидалось.

Структура папок - исходные файлы:

/app/views/*
/app/images/*
/app/scripts/*
/app/styles/

Структура папок - dist файлы:

/dist/views/*
/dist/public/images/*
/dist/public/scripts/
/dist/public/styles/

Revving работает с файлами CSS и JS, но не с изображениями.

Пример пути изображения в частичном нефрите:

img(src='/images/old_landing/record-landing.png')

Дайте мне знать, если любая другая информация будет полезна.


person max    schedule 15.02.2014    source источник


Ответы (1)


У меня была очень похожая проблема - ссылки на изображения rev'd не обновлялись в css. Всегда работало, когда у usemin были каталоги: для опций, а не для активов: - так что думаю, могут быть какие-то недокументированные изменения. Я не знаю, сработает ли это для вас, но для меня это сработало - в параметрах использования я изменил

assetsDirs: ['<%= yeoman.dist %>']

to

assetsDirs: ['<%= yeoman.dist %>/**/']

или, возможно, в вашем случае более целенаправленным может быть (угадайте!)

assetsDirs: ['<%= yeoman.dist %>/public/**/']

person Mike    schedule 21.02.2014