gpt4 book ai didi

jhipster - 自定义 JHipster

转载 作者:行者123 更新时间:2023-12-03 12:36:40 24 4
gpt4 key购买 nike

是否可以为组织定制/扩展 JHipster?

我的意思是有一个本地版本,可以创建一些具有特定于组织的功能的项目?例如,使用自定义身份验证方案(仍然依赖于 Spring 安全性)、使用自定义样式(颜色、字体)、添加某些 Maven 依赖项等等。

如果这是可能的,是否可以在保留更新 JHipster 的可能性的同时完成,以使 JHipster 的更新不会覆盖这些扩展?

谢谢。

最佳答案

这是一般的方法:

  • 首先,我们用所有标准的 JHipster 创建了一个空白项目
    堆。使用的 DBMS 是 Postgres。我们概述了基本的数据结构
    用jhipster实体生成工具,创建最重要的
    关系等。我们还定义了基本的用户角色和权限
    在标准的 JHipster 选项中。在这个阶段,我们没有付出太多
    非常关注复杂的独特约束等细节,
    业务限制、用户管理、JPA 错误处理和
    演示文稿等刚刚创建了一种 Backbone 。
    CRUD 页面都是标准的。
  • 我们介绍了一些特定领域的业务逻辑。进行了基本的前端定制:品牌,
    样式,一些自定义 View (仍然广泛使用引导类)等。Jhipster 生成的框架保持原位但扩展。我们在两个后端稍微更改了授权逻辑
    和前端,它是基于 token 的,具有一定的 token 验证
    规则。引入了用户友好的错误处理,允许用户
    了解在各种情况下会出现哪些业务限制。我们开始编写更复杂的单元测试来满足最近实现的业务逻辑。在这个阶段,实体大多(~80%)是手动制作的,因为我们已经习惯了 JHipster 提供的数据结构,而且我们在 CRUD REST Controller 、页面和测试中进行了太多的定制,涵盖了所有这些。 Liquibase 更改日志是使用 liquibase:diff 生成并手动编辑的。我们不会将此类实体添加到 .jhipster 文件夹中。
  • 由于对界面设计的要求越来越高,越来越严格,决定为最终用户交互引入单独的前端层。它与 jhipster 生成的前端部分共享 REST 接口(interface),但在项目结构方面绝对独立。我们决定也将 Angular 用于新的前端层。其实就是一个子文件夹,里面有单独的index.html、bower.json、Gruntfile.js等。同时我们不断完善业务逻辑,细化db结构,增加代码覆盖率,引入新的用户角色等。
  • ...

  • 因此,我们稍微定制了“旧”的 JHipster 前端,用于管理和数据管理。以及一个具有定制设计的独立"new"前端来处理最终用户。 请注意 : 可以保留原始界面,将其自定义到某个限制并保留生成实体的可能性,并且它在我们的项目中运行良好,只要它是合理的。

    一些注意事项:
  • pom.xml 中的组件版本是不断手动更新的;
  • Maven 依赖被手动添加到 pom.xml;
  • JS依赖手动添加到index.html/bower.json/app.js;
  • 如果你有复杂的前端脚本,处理生产配置文件的 JS 丑化可能会很棘手;
  • 另一个困难的事情是让 liquibase 脚本同时为 spring-boot 使用的 DBMS 和用于测试的 H2 工作;
  • 根据项目特定的域逻辑,您可能会面临一些配置调整问题。

  • 我希望它有所帮助。

    关于jhipster - 自定义 JHipster,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34025281/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com