jhipster学习记录之jdl

-


-

个人笔记,如有描述不当,欢迎留言指出~

jhipster学习记录之jdl

环境

  • os:windows10
  • java:1.8.0_161
  • node:10.16.0
  • npm:6.9.0
  • jhipster:6.1.0

jhipster

学习jhipster最好的方式,当然是去看官网啦,而且英语不好的小伙伴可以去官方维护的中文站点👉here

官网的入门指南里告诉我们,在命令行中敲下入hipster,随后就是一系列的选择配置,最终等待jhipster生成代码。
Alt text

但有没有觉得这样很low阿,它有这几个缺点:

  • 每次新建项目,都有进行大量的配置选择,效率低
  • 每次都只能生成一个项目,对于微服务项目,服务模块都要输入jhipster生成,效率低

所以我耐着性子继续往下看,当看到jdl的时候,发现上面两个缺点就不存在了


jdl(jhipster doman language)

jhipster领域驱动语言,详见👉here
只要编写一次jdl文件,就可以到处运行,再也没有烦人的配置选择了🙄

1
jhipster import-jdl "your jdl file"

它的语法其实挺简单,而且5.0以后支持注解,在定义的entity上直接使用@service、@dto、@paginate来代替service、dto、paginate

下面简单介绍一下jhipster生成代码流程:
当在command中敲入jhipster,在一系列配置选择完后,jhipster会在根目录下生成.yo-rc.json文件和 .jhipster目录。

  • .yo-rc.json里存放应用的配置,对应jdl的application.config
  • .*jhipster目录下存放应用的实体类配置,对应jdl中application.entites 、entity

jhipster再根据这些文件去生成项目代码。如果你需要重建一个相同配置jhipster项目的话,直接拷贝.yo-rc.json文件和 .jhipster目录放到新建文件夹下,进入command,敲下jhipster,就会生成一个相同配置的项目

另外,jhipster一开始是支持前端框架angular的,后来慢慢加入了reactvue
vue却并不在默认的选择配置中,如果你用过jhipster命令就会知道,在进行clentframework选项时,只会出现angularreact。如果前端如果要使用vue的话,就只能用jhipster提供的blueprint(蓝图)功能

1
2
npm install -g generator-jhipster-vuejs
jhipster --blueprint vuejs

这样就可以生成一个前端框架是vue的项目。
那么如何在jdl里应用呢?
这里吐槽一下,官网里jdl的语法介绍的并不全,找了半天也没看到blueprint的语法!
后来断点调试jhipster-core中,发现your node_modules folder\node_modules\generator-jhipster\node_modules\jhipster-core\lib\core\jhipster\application_options.js这个文件里存放了应用的所有配置参数
Alt text

在你的j’d’l文件里加入下面的代码就可以啦

1
2
3
4
5
6
7
application {
config{
...
blueprint vuejs
...
}
}

此处奉上我练习写的jdl文件👉demo👈

请博主喝咖啡