spring-boot - 使用 Jhipster 蓝图覆盖文件模板
问题描述
我想为我的 jhipster 项目中的每个 jpa 实体使用不同的序列。我正在考虑为我的项目制作一个 jhipster 蓝图。
现在,我看到我可以通过更改文件Entity.java.ejs
文件模板并从以下位置更改行来做到这一点:
@SequenceGenerator(name = "sequenceGenerator")
至
@SequenceGenerator(name = "sequenceGenerator", sequenceName = "<%= entityInstance %>_seq")
将我的自定义模板包含在 jhipster 蓝图中的最简单方法是什么?
我可以通过将默认的 yeoman 写作阶段与我的蓝图自定义写作阶段相结合来做到这一点。但我想知道是否有更好/更简单的方法来做到这一点。
谢谢
解决方案
几周前我做了类似的事情。我称之为“合并蓝图”。我想为我的文件添加新内容并覆盖一些基本文件以改变它们的行为(就像你想做的那样)。
你可以在这里查看我的项目: https ://github.com/avdev4j/generator-jhipster-mergeBP
我声明了两个常量来存储路径:
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
我计划在接下来的几天里写一个蓝图。你对这个线程的反馈将非常感激。
对于 sur,我们应该谨慎地覆盖基本文件,因为它会使升级更加复杂。
这是我选择这样做的方式,不知道是否有更简单的方式,但它应该会有所帮助。
我们保持联系 ;)
推荐阅读
- c# - 如何将数据从 WCF 服务推送到控制台应用程序?
- pocketsphinx-android - 带有阿拉伯模型的 Pocketsphinx android 演示不能作为 pc 模型工作
- javascript - 上传文件时超出重试限制
- javascript - 看起来我的 javascript 中断了我的 css
- angular - router.navigate 中的 {skipLocationChange : true} 不起作用;改变状态
- c# - 没有 APIController 属性的版本化 API Explorer
- javascript - 如何从 ES6 JavaScript 类实例中获取源代码位置?
- java - Javafx Google 按高度和经度映射标记
- c - 我们可以减去 NULL 指针吗?
- javascript - Angular6:无法访问获取异步数据的模板中的 js 变量