jHipster开发中对配置文件.yo-ce.json分析

最近的项目开发是基于jHipster这个框架,借助这个框架快速部署基于Spring Boot + Angular Web的应用确实很痛快,不过,因为各类自动化配置,这样会致使在快速的变动迭代过程当中,遇到各类坑,是这样的啦,前人造轮,后人乘车,车子出问题,找轮子两眼一抹黑啦,这固然须要花至关多的时间去填上,这固然须要花至关多的时间去填上,此次主要是分析其中的一个配置文件,yo-ce.json这个文件,因为不熟悉其中的某些属性,致使开发进度拖累,写一份开发笔记记录下
jHipster开发中对配置文件.yo-ce.json分析
首先,咱们知道这个是配置脚本是属于yeoman体系,文件结构为json,接下来的分析都是基于yo-rc文件的api内容。这个文件存储了多个生成器的配置文件,如今以jhipster中自动生成的配置文件为例html

{
    "generator-jhipster": {
        "promptValues": {
            "packageName": "xxx.yyy.zzz"
        },
        "jhipsterVersion": "5.7.1",
        "applicationType": "monolith",
        "baseName": "zzz",
        "packageName": "xxx.yyy.zzz",
        "packageFolder": "xxx/yyy/zzz",
        "serverPort": "8080",
        "authenticationType": "jwt",
        "cacheProvider": "ehcache",
        "enableHibernateCache": true,
        "websocket": false,
        "databaseType": "sql",
        "devDatabaseType": "mariadb",
        "prodDatabaseType": "mariadb",
        "searchEngine": "elasticsearch",
        "messageBroker": false,
        "serviceDiscoveryType": "eureka",
        "buildTool": "gradle",
        "enableSwaggerCodegen": false,
        "jwtSecretKey": "xxxxxxxxxx",
        "clientFramework": "angularX",
        "useSass": true,
        "clientPackageManager": "npm",
        "testFrameworks": [],
        "jhiPrefix": "jhi",
        "otherModules": [],
        "enableTranslation": false,
        "skipServer": true, 
        "skipClient": true
    }
}

整份json文件,能够存储来自多个生成器(generator)的配置对象,每一个生成器都是有本身的命名空间的,以确保生成器之间不会发生命名冲突,不过这样也致使了不通生成器之间并不能共享配置,这个到时可能也会有坑,此时暂且不提。项目中配置对象则是"generator-jhipster": {"promptValues": {"packageName": "com.smpteam.amzradar"}
配置文件中,详细的记录咱们所采用的jhipster的版本号、应用类型、包的路径、命名、开放的端口(8080)、身份校验(JWT)、依赖的数据库(mariadb)、建设仓库(gradle)等内容。
这些东西都是自动化配置生成的,一开始就很爽了,快速搭建微服务,一键生成基于Spring Boot + Angular Web的开发环境,前端后台一顿骚操做,而后再开发的过程当中,不知道在什么时候的时候增长了配置文件中的最后一行"skipServer": true这个会属性会致使系统在从新生成依赖文件直接忽略服务内容,不会对其生成新的变动,相应的还有"skipClient": true,这个会忽略的是客户端的变动。
加上这个属性是为了快速生成新的文件,不然会将全局全部的文件覆盖,所以这个属性嘛,见仁见智了,看需求啦前端

内容参考
yeoman官方介绍文档:https://yeoman.io/authoring/storage.html
https://blog.ippon.tech/how-to-efficiently-use-jhipster-in-your-company/web

相关文章
相关标签/搜索