2015-12-10 3 views
1

В проекте унаследованного полимера 1.0 установка включает в себя файл grunt, который вызывает, помимо прочего, беседу для установки необходимых ресурсов. Однако на последующих этапах некоторые файлы не могут быть найдены, и задача grunt не выполняется. Я новичок в обеих беседах и хрюкаюсь и чувствую себя немного потерянным.bower install via grunt не копирует все файлы в targetDir

Этот файл, который не может быть найден, находится в myproject\components\polymer\polymer-mini.html, хотя в аналогичных положениях есть более похожие позиции, которые я обнаружил, скопировав файл туда вручную.

Мой первый шаг состоял в том, чтобы изолировать задачу установки башни и наблюдать за ней во время ее работы. Это его конфигурация в gruntfile.js:

bower: { 
    install: { 
     options: { 
      targetDir: './components', 
      layout: 'byType', 
      install: true, 
      verbose: false, 
      cleanTargetDir: true, 
      cleanBowerDir: true, 
      bowerOptions: {} 
     } 
    } 
} 

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

  • старый myproject/components папка удаляется, если он существует
  • файлы создаются в обычном режиме в myproject/bower_components папке
  • файлы затем копируются в TargetDir myproject/components
  • однако, не все файлы, кажется, прибывают туда
  • myproject/bower_components удаляется после копирования

Сравнивая содержание myproject/bower_components и myproject/components показывает, что многие файлы, присутствующие в исходной папке отсутствуют в целевом одном. Например, упомянутый myproject/components/polymer содержит только polymer.html. Однако в файле имеется семь файлов, включая отсутствующие polymer-mini.html.

Видимо, что-то фильтрует то, что копируется в targetDir, а что нет.

Могу ли я повлиять на это каким-либо образом или эта настройка правильная, как сейчас? Я видел grunt-bower-task and Polymer, но не могу много сделать - за исключением того, что принятое решение, по-видимому, копирует все вручную после установки bower_components. Наверняка, должен быть лучший способ?

ответ

1

Я в конечном итоге копирование файлов независимо от задачи беседки, вызывая copy задачу, сконфигурированных как таковые:

copy: { 
     main: { 
      files: [ 
       { expand: true, cwd: 'bower_components/', src: ['**'], dest: 'components/', filter: 'isFile' }, // bower components 
      ] 
     } 
    } 

Конечно, в этом случае задача становой должна быть изменена, чтобы не удалить каталог Бауэра из которого можно скопировать.

bower: { 
    install: { 
     options: { 
      targetDir: './components', 
      layout: 'byType', 
      install: true, 
      verbose: false, 
      cleanTargetDir: true, 
      cleanBowerDir: false, 
      bowerOptions: {} 
     } 
    } 
} 

На самом деле это не то, на что я надеялся, но в то же время он выполняет свою работу.

Смежные вопросы