Artizan-MsOnAbp:將其自定義成 .Net 模板

需求背景

Artizan-MsOnAbp 項目信息如下:
目錄結構

其內部還有一些小項目,比如微服務:services\administration

解決方案

微服務:services\administration:

我們希望以此項目爲模板,創建一個以:IotPlatform 爲前綴的項目,如下所示:
目錄結構
1686564565137

解決方案
1686564565137

Artizan-MsOnAbp:.Net 自定義模板

下面將介紹如何以項目:Artizan-MsOnAb (artizan-abp-microservice)爲模板,創建一個 .Net 自定義模板。

創建模板的目錄結構

首先,創建文件夾 templates,所有的項目模板將保存於此。

從 gitee 下載 artizan-abp-microservice 項目代碼:

git clone [email protected]:Artisan-k/artizan-abp-microservice.git

提示:

之所以使用 git clone 是過濾掉不必要的文件和文件夾,比如: bin文件,node_modles,若使用本地文件,還得清理這些文件和文件夾,影響本地開發。

把項目代碼移動到 templates/artizan-abp-microservice/content 目錄下,至此目錄結構如下:

├── templates                          //  用來存放所有的模板
│   ├── artizan-abp-microservice       //  artizan-abp-microservice 模板全部內容
│   │    ├── content                   //  存放項目代碼和文件
│   │    │    ├── apps          
│   │    │    ├── gateways        
│   │    │    ├── services      
│   │    │    ├── ...         
│   │    │    └── MsOnAbp.sln     
│   │    │ 
│   │    ├── LICENSE.md    存放版權許可信息,如果不添加,後邊會警告
│   │    │ 
│   │    └── 
│   │
│   └── 

template.json

創建文件夾templates\artizan-abp-microservice\content\.template.config

注意:這是一個以點號爲開頭的文件夾

然後在其中創建名爲:template.json用於定義模板的配置文件,並修改其內容爲:

{
  "$schema": "http://json.schemastore.org/template",
  "author": "majiangfang",
  "classifications": ["Artizan", "Microservice", "ABP", "C#"],
  "identity": "Artizan.Abp.Microservice.Template",
  "sourceName": "MsOnAbp",
  "name": "Artizan ABP Microservice Template",
  "description": "Artizan ABP Microservice Template",
  "tags": {
    "language": "C#",
    "type": "solution"
  },
  "shortName": "artizan-abp-ms",
  "preferNameDirectory": true
}

詳細信息可以查看官網 :https://docs.microsoft.com/zh-cn/dotnet/core/tools/custom-templates

到目前爲止,目錄結構如下:

├── templates                          //  用來存放所有的模板
│   ├── artizan-abp-microservice       //  artizan-abp-microservice 模板全部內容
│   │    ├── content                   //  存放項目代碼和文件
│   │    │    ├── .template.config
│   │    │        └── template.json                
│   │    │    ├── apps          
│   │    │    ├── gateways        
│   │    │    ├── services      
│   │    │    ├── ...         
│   │    │    └── MsOnAbp.sln   
│   │    │ 
│   │    ├── LICENSE.md    存放版權許可信息,如果不添加,後邊會警告
│   │    │ 
│   │    └── 
│   │
│   └── 

生成本地模板

然後執行如下命令,生成本地模板:

> dotnet new install F:\05-workspace\dev\01-lab\abp-framework\templates\artizan-abp-microservice


將安裝以下模板包:
   F:\05-workspace\dev\01-lab\abp-framework\templates\artizan-abp-microservice

成功: F:\05-workspace\dev\01-lab\abp-framework\templates\artizan-abp-microservice 已安裝以下模板:

模板名                              短名稱           語言   標記
---------------------------------  --------------  ----  ---------------------------
Artizan ABP Microservice Template  artizan-abp-ms  [C#]  Artizan/Microservice/ABP/C#

注意:短名稱:artizan-abp-ms,後面我們將使用它來生成項目

NOTE:
執行如下命令卸載模板,

dotnet new uninstall F:\05-workspace\dev\01-lab\abp-framework\templates\artizan-abp-microservice

前提是:本地項目沒有被刪除。

使用本地模板生成項目

使用本地模板的短名稱:artizan-abp-ms 來生成項目,執行如下命令,生成一個以:IotPlatform 爲前綴的項目:

> dotnet new artizan-abp-ms -n IotPlatform
已成功創建模板“Artizan ABP Microservice Template”。

生成的項目如下:

1686564565137

其內部的一些小項目,比如微服務:services\administration
1686564565137

解決方案結構:

1686564565137

其內部的一些小項目,比如微服務:services\administration
1686564565137

發佈到 Nuget

(略)

參考資料

從壹開始前後端分離 39 || 想創建自己的dotnet模板麼?看這裏 - 老張的哲學 - 博客園 (cnblogs.com)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章