как включить grunt-vulcanize в Gruntfile.js генератора yoman chromeapp?

Я пытаюсь сделать chromeapp, включающий некоторые полимерные элементы - полимерный список и один из моих собственных.

Я начал с генератора yeoman chromeapp, но это не заняло задолго до того, как я столкнулся с некоторыми проблемами csp и обнаружил, что мне следует использовать инструмент вулканизации. Когда я пробую это, используя версию командной строки, кажется, что это работает хорошо.

Затем я захотел, чтобы это делалось автоматически в процессе сборки, и поэтому я решил добавить его в Gruntfile.js, который был сгенерирован генератором yoman chromeapp. Я нашел задание grunt и содержит инструкции по его добавлению. в Gruntfile.js.

Тем не менее, одна вещь, которую я узнал о генераторе Yeoman, заключается в том, что разработчик должен отлаживать свое приложение в каталоге app/ и только «создавать» при создании оптимизированной версии (предположительно для распространения). Если подумать, шаг вулканизации кажется необходимым даже для отладки (поскольку полимер не будет работать «из коробки» в chromeapp из-за csp), поэтому это промежуточный шаг. Таким образом, это требует немного больше усилий для новичка (я полагаю, часть аудитории Йомена).

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

Я работал над некоторыми проектами, в которых используется двухэтапный процесс сборки. (в основном из-за наличия нескольких целей), так что поток выглядит примерно так: app/ -> build/app -> app/crx. IINM, первый шаг просто объединяет все биты вместе, а также заменяет имена приложений, номера версий и т. д.; и второй шаг выполняет оптимизацию (увеличение/уменьшение/и т. д.). Я предполагаю, что решение этого вопроса состоит в том, чтобы сделать что-то подобное, а отладка/разработка выполняется в сборке/приложении на среднем этапе.

Я немного повозился с grunt в проектах веб-приложений, на которые я ссылаюсь (и даже написал one), но плагины, используемые этим генератором, мне не очень знакомы.

Тогда мой вопрос: кто-нибудь уже сделал это или исправления, если я что-то неправильно понял/и т. д. Кроме того, если у кого-то есть предложения о том, как интегрировать задачу grunt vulcanize в Gruntfile.js, предоставляемый генератором chromeapp Yeoman, я попробую.


person Max Waterman    schedule 30.07.2014    source источник


Ответы (1)


Я сам работал над решением и придумал это.

Решение несколько сложное, но, по сути, добавляет промежуточный шаг, где цель сборки grunt — это шаг, используемый для «компиляции» (просто вулканизации) приложения/ в сборку/, а старая цель сборки стала «dist», которая оптимизировала сборку. /в даль/. Предполагается, что разработка теперь выполняется в build/, а оптимизированный код в dist/ используется для сборки пакетов (crx) для распространения.

Это все еще несколько незакончено и, конечно, не готово к продвижению вверх по течению к генератору йоменов, но я надеюсь, что это кому-то поможет.

person Max Waterman    schedule 31.07.2014