Пользовательский угловой генератор yeoman

Работаю над угловым проектом. Я заинтересован в создании генератора в Yeoman, который позволяет мне создавать «виджеты».

В принципе, я хотел бы иметь сценарий, в котором я вызываю такую ​​команду, как:

yo angular:widget pieChart

и это создаст папку в app / scripts / widgets с файлом js с именем pieChart.js, а также сгенерирует некоторый тестовый код в test / spec / widgets.

Кто-нибудь может подсказать, с чего начать?

Большое спасибо,

kSeudo


person kSeudo    schedule 16.01.2015    source источник


Ответы (3)


Я сделал что-то похожее на то, что ты хочешь. Я бы рекомендовал начать с angular-generator. Затем вам нужно добавить новый файл в папку шаблонов под названием widget, который содержит шаблон виджета. Создайте новую папку на том же уровне, что и директивная папка, с именем widget и присвойте ей index.js. Затем вы можете скопировать index.js из папки директив и внести необходимые изменения. Вы также можете просто создать шаблон widget.js в папке templates / javascript / spec.

person Jason    schedule 16.01.2015
comment
Спасибо, Джейсон, это был самый быстрый способ получить то, что я хочу. Теперь я могу создавать файлы, используя yo angular: widget pieChart. Мне все еще нужно поработать с файлами шаблонов, но это следующий шаг. Спасибо за вашу помощь - person kSeudo; 16.01.2015

Написать свои собственные генераторы Yeoman довольно просто, если вы уже знакомы с такими инструментами, как Grunt и Bower.

Я бы рекомендовал начать с официального руководства, которое здесь. Генератор-генератор Yeoman довольно прост в использовании и создаст простой скелет для вашего генератора.

РЕДАКТИРОВАТЬ: Кроме того, если существующий генератор выполняет хотя бы часть того, что вы хотите, возможно, стоит использовать это в качестве отправной точки.

person Matthew Daly    schedule 16.01.2015

Есть официальный генератор-генератор

Создать собственный генератор довольно просто, просто следуйте официальному руководству http://yeoman.io/authoring/.

person lima_fil    schedule 16.01.2015