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

最近的项目开发是基于jHipster这个框架,借助这个框架快速部署基于Spring Boot + Angular Web的应用确实很痛快,不过,由于各种自动化配置,这样会导致在快速的变更迭代过程中,遇到各种坑,是这样的啦,前人造轮,后人乘车,车子出问题,找轮子两眼一抹黑啦,这当然需要花相当多的时间去填上,这当然需要花相当多的时间去填上,这次主要是分析其中的一个配置文件,yo-ce.json这个文件,由于不熟悉其中的某些属性,导致开发进度拖累,写一份开发笔记记录下

首先,我们知道这个是配置脚本是属于yeoman体系,文件结构为json,接下来的分析都是基于yo-rc文件的api内容。这个文件存储了多个生成器的配置文件,现在以jhipster中自动生成的配置文件为例

{
    "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": "YTJiY2Q3OTIyMjY3MDQ4M2I4ZGZiZjFhMGM3MjM5OTYzYmQzNzVkMWVhZTEzOTU2ZmQ5OGRkMDI0YTE1YzhmMGJlY2U4NWM3MGEzMGI4NjMxNDVhYjQyZWQ4MTMzMzc5NjlmY2NmNWRjZWU1MDQ0NGQ5MjJmNWY3YzMwY2M2MGM=",
        "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/

原文地址:http://blog.51cto.com/yerikyu/2350936

时间: 2024-10-09 11:25:52

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

C#开发中使用配置文件

C#开发中使用配置文件对象简化配置的本地保存 0x00 起因 程序的核心是数据和逻辑,开发过程中免不了要对操作的数据进行设置,而有些数据在程序执行过程中被用户或程序做出的修改是应该保存下来的,这样程序在下次运行时可以保留上次的一些设置.同样有时我们希望修改某些设置而不需要重新编译程序,这样也可以通过修改本地配置文件达到目的.之前在网上看到过一篇文章,讲的是小程序或测试类的程序应该追求效率,相关配置完全可以硬编码到代码里,无需写到配置文件里.关于什么属于小程序并没有一个明显的界定,至于要不要写到配

Android中的应用——谷歌官方Json分析工具Gson使用

一个.Gson基本介绍 Gson(又称Google Gson)是Google公司公布的一个开放源码的Java库.主要用途为串行化Java对象为JSON字符串,或反串行化JSON字符串成Java对象. 也就是Java对象与json字符串间的互相转换.解析. 二.用法 Gson的应用主要为toJson与fromJson两个转换函数,而在使用这样的对象转换之前需先创建好对象的类型以及其成员才干成功的将JSON字符串成功转换成相相应的对象.即先创建好相应的javabean.javabean中的字段与要转

【Java】接口开发中关于接受和发送json的相关范例

接受json package com.suneee.scn.wms.web.rocketmq; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired

PHP 进行支付宝开发中return_url和notify_url的区别分析

在支付宝处理业务中return_url,notify_url是返回些什么状态呢,我们要根据它来做一些处理就必须了解return_url,notify_url的区别,下面我就来给大家介绍; 一.问题描述: 我在处理支付宝业务中出现过这样的问题,付费完成后,在支付宝跳转到商家指定页面时,订单状态已经更新,通过调试发现是支付宝先通知notify_url,完成了订单状态. 支付宝return_url和notify_url通知顺序问题: 顺序不一定的,请别以先后顺序来做判断,具体如何判断,是根据您当前数据

支付宝开发中return_url和notify_url的区别分析

在处理支付宝业务中出现过这样的问题,付费完成后,在支付宝跳转到商家指定页面时,订单状态已经更新,通过调试发现是支付宝先通知notify_url,完成了订单状态. 支付宝return_url和notify_url通知顺序问题: 顺序不一定的,请别以先后顺序来做判断,具体如何判断,是根据您当前数据库里的状态和刚从支付宝里获取到的状态做对比来判断是否有做过处理了. 关于支付宝return_url和notify_url的区别,同步通知页面特性(return_url特性): (1) 买家在支付成功后会看到

项目开发中db设计

项目开发中db设计 0.根据原型分析出数据的由来和数据间的关系(实体关系); 1.提取字段,通过powerDesigner设计表; 2.先不加约束,先只建立数据上的单向关联,有需要时在建立双向关联或中间表;3.也可以先建立外键关系,最后删除外键关系;(方便查看表的关系);4.对实体对象通常会补充的字段:     id         主键    entity        关联实体/自己    isDelete varchar(1)  Null    #是否删除    CreateEmpId v

SQL开发中容易忽视的一些小地方(五)

原文:SQL开发中容易忽视的一些小地方(五) 背景: 索引分类:众所周知,索引分为聚集索引和非聚集索引. 索引优点:加速数据查询. 问题:然而我们真的清楚索引的应用吗?你写的查询语句是否能充分应用上索引,或者说你如何设计你的索引让它更高效? 经历:以前本人只知道索引的好处,但是是否能够真正让它发挥作用,并无太多理论,为些本人做了些DEMO,来简单说明下什么情况下才能充分利用索引. 案例: 这里建立一个学生表:有如下字段,此时表中没有建立任何索引. CREATE TABLE [dbo].[stud

Json的本地写入和读取,也可以方便在开发中数据的调试

不知道小伙伴们,在开发中,数据调试的过程中,尤其是很多状态的情况下调试,是不是总是麻烦后台的小哥改变不同的状态,总感觉这样太麻烦了, 那么就可以,把数据写入到本地,然后去沙盒中,找到这个写入的文件,直接去改变这个文件中的数据.之后就可以不用再网络请求了,可以直接读取这个文件的数据来调试自己的界面了, YXJsonSaveOrLoadTool.h @interface YXJsonSaveOrLoadTool : NSObject +(instancetype)shareTool; //** 写入

关于网络开发中JSON的使用

JSON是一种轻量级的数据交换格式,非常适合网络间的数据交互.JSON的格式和OC中的字典和数组类似. key-value格式的: {“name”:“Tom”, "age":20} 数组格式的: ["Tom", "Jack"] 在iOS开发中如果要使用JSON,就需要对JSON进行解析.在iOS中,JSON的解析方案主要有以下四中解析方案: 1.NSJSONSerialization 2.JSONKit 3.SBJson 4.TouchJSON