您好,登錄后才能下訂單哦!
最近的項目開發(fā)是基于jHipster這個框架,借助這個框架快速部署基于Spring Boot + Angular Web的應(yīng)用確實很痛快,不過,由于各種自動化配置,這樣會導(dǎo)致在快速的變更迭代過程中,遇到各種坑,是這樣的啦,前人造輪,后人乘車,車子出問題,找輪子兩眼一抹黑啦,這當(dāng)然需要花相當(dāng)多的時間去填上,這當(dāng)然需要花相當(dāng)多的時間去填上,這次主要是分析其中的一個配置文件,yo-ce.json這個文件,由于不熟悉其中的某些屬性,導(dǎo)致開發(fā)進度拖累,寫一份開發(fā)筆記記錄下
首先,我們知道這個是配置腳本是屬于yeoman體系,文件結(jié)構(gòu)為json,接下來的分析都是基于yo-rc文件的api內(nèi)容。這個文件存儲了多個生成器的配置文件,現(xiàn)在以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": "xxxxxxxxxx",
"clientFramework": "angularX",
"useSass": true,
"clientPackageManager": "npm",
"testFrameworks": [],
"jhiPrefix": "jhi",
"otherModules": [],
"enableTranslation": false,
"skipServer": true,
"skipClient": true
}
}
整份json文件,可以存儲來自多個生成器(generator)的配置對象,每個生成器都是有自己的命名空間的,以確保生成器之間不會發(fā)生命名沖突,不過這樣也導(dǎo)致了不通生成器之間并不能共享配置,這個到時可能也會有坑,此時暫且不提。項目中配置對象則是"generator-jhipster": {"promptValues": {"packageName": "com.smpteam.amzradar"}
配置文件中,詳細的記錄我們所采用的jhipster的版本號、應(yīng)用類型、包的路徑、命名、開放的端口(8080)、身份校驗(JWT)、依賴的數(shù)據(jù)庫(mariadb)、建設(shè)倉庫(gradle)等內(nèi)容。
這些東西都是自動化配置生成的,一開始就很爽了,快速搭建微服務(wù),一鍵生成基于Spring Boot + Angular Web的開發(fā)環(huán)境,前端后臺一頓騷操作,然后再開發(fā)的過程中,不知道在何時的時候增加了配置文件中的最后一行"skipServer": true
這個會屬性會導(dǎo)致系統(tǒng)在重新生成依賴文件直接忽略服務(wù)內(nèi)容,不會對其生成新的變更,相應(yīng)的還有"skipClient": true
,這個會忽略的是客戶端的變更。
加上這個屬性是為了快速生成新的文件,否則會將全局所有的文件覆蓋,因此這個屬性嘛,見仁見智了,看需求啦
內(nèi)容參考
yeoman官方介紹文檔:https://yeoman.io/authoring/storage.html
https://blog.ippon.tech/how-to-efficiently-use-jhipster-in-your-company/
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。