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

相關文章
相關標籤/搜索