当前位置:  开发笔记 > 前端 > 正文

自定义JHipster

如何解决《自定义JHipster》经验,为你挑选了2个好方法。

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

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

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

谢谢.



1> dfche..:

这是一般的方法:

    首先,我们创建了一个包含所有标准JHipster堆栈的空白项目.使用的DBMS是Postgres.我们用jhipster实体生成工具概述了基本数据结构,创建了最重要的关系等.我们还在标准JHipster选项中定义了基本的用户角色和权限.在这个阶段,我们并没有非常关注复杂的独特约束,业务限制,用户管理,JPA错误处理和演示等细节.刚开始创建一种主干.CRUD页面都很标准.

    我们介绍了一些特定于域的业务逻辑.执行了基本的前端自定义:品牌,样式,一些自定义视图(仍广泛使用引导类)等.Jhipster生成的框架保持到位但扩展.我们在后端和前端都稍微改变了授权逻辑,它是基于令牌的,具有某些令牌验证规则.引入了用户友好的错误处理,允许用户了解在各种条件下出现的业务限制.我们开始编写更复杂的单元测试来满足最近实现的业务逻辑.在这个阶段,实体大多是(~80%)手工制作,因为我们已经习惯了JHipster提供的数据结构,而且我们在CRUD REST控制器,页面和测试中有太多的自定义,涵盖了所有这些.使用liquibase:diff生成Liquibase更改日志并手动编辑.我们不会将此类实体添加到.jhipster文件夹中.

    由于对界面设计的要求越来越高且越来越严格,因此决定为最终用户交互引入单独的前端层.它部分地与jhipster生成的前端共享REST接口,但在项目结构方面完全独立.我们决定也将Angular用于新的前端层.实际上,它是一个带有单独的index.html,bower.json,Gruntfile.js等的子文件夹.同时我们继续改进业务逻辑,改进数据库结构,增加代码覆盖率,引入新的用户角色等.

    ...

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

一些说明:

pom.xml中的组件版本不断更新;

Maven依赖项被手动添加到pom.xml;

JS依赖项被手动添加到index.html/bower.json/app.js;

如果您有复杂的前端脚本,那么处理生产概要的JS uglification可能会很棘手;

另一个困难的事情是保持liquibase脚本适用于spring-boot使用的DBMS和用于测试的H2;

根据特定于项目的域逻辑,您可能会面临配置调整方面的一些问题.

我希望它有所帮助.



2> Gaël Marziou..:

2.26.0版(2015年12月中旬)中引入的另一种方法是构建自己的模块,请参阅文档.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有