【问题标题】:Override file templates with Jhipster blueprint使用 Jhipster 蓝图覆盖文件模板
【发布时间】:2018-10-04 15:43:03
【问题描述】:

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

现在,我看到我可以通过更改文件 Entity.java.ejs 文件模板来做到这一点,并从以下位置更改行:

@SequenceGenerator(name = "sequenceGenerator")

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

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

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

谢谢

【问题讨论】:

    标签: spring-boot jhipster blueprint


    【解决方案1】:

    几周前我做了类似的事情。我称之为“合并蓝图”。我想为我的文件添加新内容并覆盖一些基本文件以改变它们的行为(就像你想做的那样)。

    你可以在这里查看我的项目: 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

    我计划在接下来的几天里写一个蓝图。非常感谢您对此主题的反馈。

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

    这是我选择这样做的方式,不知道是否有更简单的方式,但它应该会有所帮助。

    我们保持联系;)

    【讨论】:

    • 嗨!谢谢您的答复。这很有用。我最终得到了一个类似的解决方案:github.com/ecostanzi/generator-jhipster-dbsequences。一旦我设法运行它(显然我“似乎没有安装名称为“jhipster-dbsequences:entity-server”的生成器。)我会给你更多反馈。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 2012-07-06
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多