一、設計宗旨
所有被程式設計師掌握了程式碼規律的知識,都可以用程式碼生成器完成開發
- 模板類程式碼生成,減輕程式設計師的開發工作量,這當然是核心需求。
- 生成的程式碼直接應用於專案,可以指定程式碼的生成路徑,直接讓程式碼生成到專案路徑下面。
- 跨專案,很多的程式碼生成器都是基於某個作者自己的專案開發的。(你只需要學會模板的開發,這個程式碼生成器適用於所有的專案)。
- 跨語言,不論你是python、vue,只有你的程式碼是模板化的,都可以實現自動生成。
- 跨作業系統,採用electron開發,所以可以打包安裝到windows、linux、macOS都可以。
本程式碼生成器的設計思路,和其他的程式碼生成器並沒有什麼特殊之處。仍然是:資料 + 模板 = 檔案。
其實模板的編寫是小事情,一般的開發人員十分鐘就學會了。重要的是理解這些資料都能用來做什麼,理解了這些資料能做什麼之後,你就能編寫自己的模板,適用於自己的專案。
二、下載與安裝
下載
專案gitee原始碼地址(安裝檔案下載地址):https://gitee.com/hanxt/dongbb-coder
- 點選"發行版"Tab
- 下載安裝版本(目前手頭只有windows,所以只打了windows的包)。使用linux或macOS的小夥伴,可以下載原始碼,使用
yarn electron:build
命令自行打包。
安裝
這個安裝就比較簡單了
選擇安裝目錄
安裝完成之後,桌面上會出現這樣一個圖示,點選就可以啟動程式碼生成器
初始資料匯入
程式碼生成器啟動之後,DB配置、專案配置、模板配置等都是空的,需要使用者根據自己的專案情況自行配置。
- 問:能不能給一個配置的例子,我們參考你配置完成的內容進行配置?。
- 答 :https://gitee.com/hanxt/dongbb-coder/blob/master/templates/data.json 這個配置檔案下載到你的本地,儲存檔名為data.json。 然後通過下圖中的功能匯入data.json這個檔案就可以了。
我的這個data.json的配置就是針對dongbb專案的程式碼生成配置,如果你是使用dongbb專案,這個配置幾乎就可以拿來即用了(模板檔案路徑和程式碼生成路徑需要修改)。
如果你用於其他的專案,還需要自行配置,具體怎麼配置。參看後文的使用方法介紹。
三、使用方法
新建表
程式碼生成器的核心原理就是根據這張表的資訊(當然還有其他的配置資訊),來生成針對這張表的增刪改查功能及頁面。
- 欄位的順序,預設是在前端頁面的table(tr/td)的資料從左到右的展示順序
- 欄位的名稱要符合下劃線分割的資料庫欄位基本規範
- 帶有長度的欄位(字串型別),可以用來生成前端資料校驗的最大值校驗規則
- 是否允許為null的欄位,可以用來生成前端資料校驗的必填項校驗規則
- 表的註釋資訊,和欄位的註釋資訊,可以用來生成程式碼檔案中的註釋資訊。
增加資料庫配置
增加資料庫配置的作用是,將在資料庫裡面新建的表資訊查詢出來,用來生成程式碼檔案。為了完全起見,本軟體並不儲存您的資料庫密碼資訊,需要每次生成程式碼的時候再填寫。
完善欄位配置資訊
當我們新增一條DB配置之後,表格裡面會多出一條資料庫資訊記錄。
點選圖中紅色框位置,輸入資料庫密碼,會彈出一個框,框裡面包含該資料庫裡面的所有的表資訊。
我們選擇我們剛剛新建的一張表:affice_goods(為了方便測試,故意以a開頭,方便查詢),進行配置程式碼生成資訊。
- 紅色,是否前端table查詢引數,表示該欄位是否作為table資料的查詢條件。程式碼生成之後,勾選的欄位將作為查詢條件存在。(下圖是程式碼生成之後前端展示效果)
- 綠色,是否在前端的table中顯示,表示該欄位是否作為前端table的資料展示內容出現。程式碼生成之後,勾選的欄位將作為table資料展示列存在。(下圖是程式碼生成之後前端展示效果)
- 橘色,是都在前端新增修改,表示該欄位是否在前端可以新增修改。比如:id,create_time一般是由後端自動賦值的,不由使用者來填寫,這裡就不要勾選。(下圖是程式碼生成之後前端展示效果)
專案配置
專案配置暫時沒有特別的作用,通常只用於模板分類,表示哪一個模板屬於拿一個專案(模板配置看下文)。
模板配置
模板配置中的每一個模板,對應程式碼生成之後的每一個程式碼檔案(vue、js、java等)。只要你能總結出程式碼規律,並把它編寫成模板,所有的程式碼都可以生成。
模板檔案的編寫非常簡單,後續我會錄製一段視訊給大家講一下,文件也會有!
新增或修改模板
生成程式碼
開源地址
https://gitee.com/hanxt/dongbb-coder
如果您覺得這個程式碼生成器能夠幫助到你,請幫忙給個star。
歡迎關注我的部落格,裡面有很多精品合集
- 本文轉載註明出處(必須帶連線,不能只轉文字):字母哥部落格。
覺得對您有幫助的話,幫我點贊、分享!您的支援是我不竭的創作動力! 。另外,筆者最近一段時間輸出瞭如下的精品內容,期待您的關注。