Я постараюсь ответить на все ваши вопросы.Сначала для создания Blueprint я предлагаю использовать https://github.com/jhipster/generator-jhipster-blueprint даже в другой папке и копировать все, что вам нужно для вашего текущего проекта.Я думаю, что это проще, и вы можете выбрать, какой генератор вы хотите добавить, например, сущность-сервер и сущность.
Фаза подсказок
Если вы хотите изменить фазу подсказки, вы можетеобъедините ваш этап с JHipster, подобным этому
get prompting() {
const phaseFromJHipster = super._prompting();
const phaseFromMe = {
askForTheme: prompts.askForTheme,
setMySharedConfigOptions() {
this.configOptions.theme = this.theme;
}
};
return { ...phaseFromJHipster, ...phaseFromMe };
}
(источник: https://github.com/avdev4j/samSuffit/tree/master/generators/client)
Но, делая это, вы не можете изменять существующие вопросы, в этом случае вам следует скопировать все существующиевопросы в ваш проект.
Управление шаблонами
Ваш проект связан с версией JHipster. Как я говорил (в своих выступлениях), вы должны копировать иизменять шаблоны из JHipster, за исключением файлов конфигурации, потому что это немного сложно для обработки. Для них я предпочитаю использовать JHipster API, например, «replaceContent ()», или API-интерфейс иглы, который позволяет вставлять некоторый код в некоторые файлы (например, зависимость вфайл pom.xml.) Конечно, вы можете использовать то, что хотите, но с опытом я предпочитаю контролировать свои шаблоны и объединять их при обновлении JHipster v.ersion.
Вам нужно только скопировать шаблоны, которые вы хотите изменить, объединить JHipster и ваш этап написания.JHipster использует yeoman, который использует memfs для обработки файлов.Все файлы создаются в памяти и сбрасываются на последнем этапе.Вы можете легко перезаписать файл без снижения производительности.
get writing() {
const phaseFromJHipster = super._writing();
/* eslint-disable */
const phaseFromSam = {
writeSamFiles() {
if (this.clientFramework === 'angularX') {
return writeAngularFiles.call(this);
}
}
};
/* eslint-enable */
return { ...phaseFromJHipster, ...phaseFromSam };
}
Обновление JHipster
Я предлагаю вам проверять шаблоны при обновлении JHipster и при необходимости вносить изменения.В противном случае вы могли бы иметь ошибки.Кроме того, я предлагаю установить окончательную (например, 6.1.0) версию JHipster в вашем blueprint package.json.
Насколько я знаю, нет способа сделать то, что вы хотите сделать.Я подумываю о том, как легко изменить приглашения, не копируя все остальные вопросы, если вы хотите внести свой вклад;).
Вы можете проверить образец моего плана, который я использую, чтобы показать его в своих выступлениях: https://github.com/avdev4j/samSuffit/
Я надеюсь, что это может помочь вам, не стесняйтесь спрашивать больше.
С уважением,