用 Jhipster 蓝图覆盖文件模板

Override file templates with Jhipster blueprint

我想为我的 jhipster 项目中的每个 jpa 实体使用不同的序列。我正在考虑为我的项目做一个 jhipster 蓝图。

现在,我发现我可以通过更改文件 Entity.java.ejs 文件模板并将行更改为:

@SequenceGenerator(name = "sequenceGenerator")

@SequenceGenerator(name = "sequenceGenerator", sequenceName = "<%= entityInstance %>_seq")

将自定义模板包含在 jhipster 蓝图中的最简单方法是什么?

我可以通过将默认的 yeoman 写作阶段与我的蓝图自定义写作阶段相结合来做到这一点。但我想知道是否有 better/simpler 方法可以做到这一点。

谢谢

几周前我做了这样的事情。我称之为'merge blueprint'。我想用新内容添加我的文件并覆盖一些基本文件以改变它们的行为(就像你想做的那样)。

你可以在这里查看我的项目: https://github.com/avdev4j/generator-jhipster-mergeBP

Example with angular files

我声明了两个常量来存储路径:

const ORIGINAL_ANGULAR_TEMPLATE_PATH = '../../../node_modules/generator-jhipster/generators/client/templates/angular';
const CURRENT_ANGULAR_TEMPLATE_PATH = 'angular';

然后我为两条路径调用 "writeFilesToDisk"。事实上,第一个调用必须始终采用 jhipster 基本路径,第二个调用我们的路径(为了确保我们的文件不会被覆盖)。

function writeFiles() {
this.writeFilesToDisk(angularFiles, this, false, ORIGINAL_ANGULAR_TEMPLATE_PATH); // always originals first
this.writeFilesToDisk(files, this, false, CURRENT_ANGULAR_TEMPLATE_PATH);

}

顺便说一下,我检查了 kotlin deepu 蓝图(蓝图创建者),他做了一些接近的事情(我认为)https://github.com/jhipster/jhipster-kotlin

我打算接下来写一个蓝图days.Your非常感谢对此线程的反馈。

对于 sur 我们应该小心地覆盖基础文件,因为它会使升级更加复杂。

这是我选择的方法,不知道有没有更简单的方法,但应该会有所帮助。

我们保持联系 ;)