日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABP Framework 5.2 RC 版本发布及新增功能介绍

發(fā)布時間:2023/12/4 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABP Framework 5.2 RC 版本发布及新增功能介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文將介紹 ABP Framework 5.2 RC 版新增的主要功能:

?單層解決方案模板?API 版本控制?源代碼控制移除libs文件夾?對 Swagger UI 隱藏 ABP 默認(rèn)端點?CMS Kit應(yīng)用模塊自定義全局 CSS 和 JavaScript

關(guān)注?ABP Framework?最新開發(fā)進度,后面還會陸續(xù)發(fā)布新功能詳解新功能示例等系列文章,敬請關(guān)注!?ABP Framework 研習(xí)社(QQ群:726299208)?專注 ABP Framework 學(xué)習(xí),經(jīng)驗分享、問題討論、示例源碼、電子書共享,歡迎加入!

單層解決方案模板

ABP啟動模板是一個組織良好的分層解決方案,用于創(chuàng)建可維護的應(yīng)用程序。然而,一些開發(fā)人員發(fā)現(xiàn),對于簡單和短期的應(yīng)用程序來說,它有點復(fù)雜。對于這樣的應(yīng)用程序,我們提供一個新的啟動模板,沒有分層、確保項目結(jié)構(gòu)盡可能簡單,但是在運行時功能,特性和模塊齊全,一切都包含單個項目(csproj)中,如下圖所示:

在創(chuàng)建解決方案時,模板參數(shù)使用?-t app-nolayers:

abp new BookStore -t app-nolayers --preview

EF Core 數(shù)據(jù)庫遷移

創(chuàng)建項目之后,需要在運行應(yīng)用程序之前創(chuàng)建數(shù)據(jù)。我們已經(jīng)向應(yīng)用程序添加了一個參數(shù)--migrate-database,可以指定該參數(shù)用來進行數(shù)據(jù)庫遷移和初始化數(shù)據(jù)。在命令行終端打開項目目錄(包含csproj文件),輸入以下命令:

dotnet run --migrate-database

將運行數(shù)據(jù)庫遷移并退出,然后就可以正常運行應(yīng)用程序了。

也可以使用命令?dotnet ef database update?(或者 Visual Studio's Package Manager Console 中使用?Update-Database?命令)創(chuàng)建數(shù)據(jù)庫表,但是,不會生成運行應(yīng)用程序所必需的初始數(shù)據(jù)

為了讓解決方案保持簡單,我們并沒有添加其他應(yīng)用,比如:單獨用于遷移數(shù)據(jù)庫的DbMigrator項目。

使用應(yīng)用程序本身進行遷移數(shù)據(jù)庫不但可以用于開發(fā)環(huán)境,也可以在生產(chǎn)環(huán)境中使用。但是,還有其他遷移數(shù)據(jù)庫的方法。請關(guān)于微軟文檔[1]

UI 和 數(shù)據(jù)庫 選項

單層解決方案模板同樣支持 Angular 和 Blazor UI,數(shù)據(jù)庫也支持 MongoDB。對于 UI,可以為?-u?或?--ui?參數(shù)設(shè)置?mvc(默認(rèn))、angular?或?blazor-server?參數(shù)以支持不同的UI框架。對于數(shù)據(jù)庫提供程序,可以為-d或--database-provider參數(shù)設(shè)置?ef(默認(rèn))或者mongodb?以支持不同的數(shù)據(jù)庫提供程序。

示例:

abp new BookStore -t app-nolayers -u angular -d mongodb --preview

以上命令創(chuàng)建一個單層解決方案,使用 Angular 作為 UI框架,使用 MongoDB 作為數(shù)據(jù)庫提供程序。

API 版本控制

API版本控制在ABP框架中一直是可用的,但是我們還沒有提供相應(yīng)的文檔。對于版本?5.2?,我們創(chuàng)建了一個文檔來解釋如何為應(yīng)用程序?qū)崿F(xiàn)API版本控制,并向您的標(biāo)準(zhǔn)應(yīng)用程序服務(wù)類添加版本控制支持。請參閱文檔[2]

源代碼控制移除libs文件夾

注意:對于開發(fā)環(huán)境和CI/CD管道來說可能是一個破壞改變。因此,請仔細(xì)閱讀本文檔并采取必要的措施。

當(dāng)你創(chuàng)建的解決方案使用 MVC(Razor Pages) 或 Blazor Server UI 框架時,在解決方案的UI項目中包含一個?wwwroot/libs?目錄,結(jié)構(gòu)如下:

libs目錄包含所有客戶端依賴類庫(大多數(shù)為 JavaScript 和 CSS)。舉個例子,在上圖中?bootstrap?目錄包含 Bootstrap 類庫所需的必要文件。該目錄中的內(nèi)容是從?node_modules?目錄中復(fù)制而來(只復(fù)制最小的必需文件,確保類庫可用,并不是整個類庫),通過 ABP CLI 提供的?abp install-libs?命令完成。

在 5.2 版本之前,libs目錄是啟動模板中的一部分,并提交到源代碼控制系統(tǒng)中,比如:Git。在 5.2 版本之后,該目錄默認(rèn)從源碼控制中移除,所以開發(fā)者必須在解決方案中UI項目的根目錄中運行abp install-libs命令來安裝前端依賴庫。這種方法為解決方案節(jié)省了大量空間。例如,MVC UI應(yīng)用程序的初始大小從 9.83 MB減少到 0.23 MB。

當(dāng)你使用 ABP CLI 創(chuàng)建解決方案時,install-libs命令會自動執(zhí)行,所以你的應(yīng)用程序可以直接工作。但是,如果你的團隊成員(或CI/CD系統(tǒng))是從源代碼控制系統(tǒng)(如Github)獲取解決方案源碼,那么應(yīng)該在運行之前執(zhí)行abp install-libs命令。

如果你想將?libs?目錄添加到源代碼控制系統(tǒng)中,可以在解決方案根目錄中找到?.gitignore?文件,移除?**/wwwroot/libs/*?這一行即可。如果你使用的是 Git 以外的版本控制系統(tǒng),你應(yīng)該應(yīng)用系統(tǒng)提供的設(shè)置規(guī)則來包含或排除?libs?文件夾。

對 Swagger UI 隱藏 ABP 默認(rèn)端點

Engincan Veske[3]?寫了一篇文章[4]來解釋如何從 Swagger UI 中隱藏 ABP默認(rèn)端點。然后我們認(rèn)為這可能是ABP框架中的一個很好的內(nèi)置選項,所以在?AddAbpSwaggerGen?方法中添加了一個HideAbpEndpoints?方法,可以像下面的代碼示例使用:

services.AddAbpSwaggerGen(options => {//... 其他設(shè)置//在Swagger UI上隱藏ABP相關(guān)的端點options.HideAbpEndpoints();} )

這樣設(shè)置之后,ABP的默認(rèn)端點仍然存在,但將在 Swagger UI 中隱藏。

CMS Kit 應(yīng)用模塊自定義全局 CSS 和 JavaScript

我們一直在改進 CMS Kit 應(yīng)用模塊,并不斷添加新功能。在 5.2 版本中新增的特性是:全局資源系統(tǒng),可以為應(yīng)用程序編寫自定義的全局 JavaScript 或 CSS 代碼,并應(yīng)用于所有應(yīng)用程序頁面中:

通過這種方式,您可以在運行時定制應(yīng)用程序的外觀和行為。有關(guān)更多信息,請參閱文檔[5]

請注意,頁面[6]功能已經(jīng)提供作用于頁面的腳本/樣式編輯器。但是這個新功能允許您編寫作用于應(yīng)用程序所有頁面的腳本/樣式,二者可以結(jié)合使用。

其他

?為 Blazor UI 升級 Blazorise 類庫到 v1.0,升級之后確保應(yīng)用程序中所有依賴 Blazorise 包使用 v1.0

歷史版本回顧

ABP Framework 5.0 RC.1 新特性和變更說明

ABP Framework V4.4 RC 新增功能介紹

References

[1]?微軟文檔:?https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations
[2]?文檔:?https://docs.abp.io/en/abp/5.2/API/API-Versioning
[3]?Engincan Veske:?https://twitter.com/EngincanVeske
[4]?一篇文章:?https://community.abp.io/posts/how-to-hide-abp-related-endpoints-on-swagger-ui-mb2w01fe
[5]?文檔:?https://docs.abp.io/en/abp/5.2/Modules/Cms-Kit/Global-Resources
[6]?頁面:?https://docs.abp.io/en/abp/5.2/Modules/Cms-Kit/Pages

總結(jié)

以上是生活随笔為你收集整理的ABP Framework 5.2 RC 版本发布及新增功能介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。