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

iEricLee發表於2021-07-05

原文連結:ABP Platform 4.4 RC Has Been Released

新增功能概述

  • 啟動模板刪除 EntityFrameworkCore.DbMigrations 專案
  • CMS-Kit 模組新增 動態選單管理 功能
  • 物件擴充套件管理系統新增兩個擴充套件方法:MapEfCoreDbContext MapEfCoreEntity,分別對 資料上下文和實體 自定義對映配置。
  • 文字模板系統新增 Razor 模板引擎 支援。
  • ABP CLI 新增3個命令:abp install-libs abp prompt abp batch

關注 ABP Framework 最新開發進度,後面還會陸續釋出新功能詳解新功能示例等系列文章,敬請關注!
ABP Framework 研習社(QQ群:726299208)
專注 ABP Framework 學習,經驗分享、問題討論、示例原始碼、電子書共享,歡迎加入!

啟動模板刪除 EntityFrameworkCore.DbMigrations 專案

在這個版本中,對應用程式的啟動解決方案模板做了一個重要改變:

原模板解決方案包含 EntityFrameworkCore.DbMigrations 專案,該專案中包含 單獨的DbContext類,負責資料庫遷移。

v4.4版本中,我們決定從解決方案中刪除了這個專案。在新的解決方案結構中,將 EntityFrameworkCore 專案用於資料庫遷移。

除了使 DbContext 統一外,使用了新的ReplaceDbContext屬性,替換了IIdentityDbContextITenantManagementDbContext介面,以使這些模組能夠輕鬆地對倉儲進行連線查詢。

CMS-Kit 動態選單管理

CMS Kit是一系列可重用 CMS 系統功能模組。當前版本新增新功能:動態新增選單,可以導航到任何頁面或Url。

CMS Kit 管理頁面 /Menus 進行選單管理。

image

釋出網站顯示選單

image

截圖使用的是 ABP Commercial 版本,此功能同時包含在 ABP Framework CMS Kit 應用模組中(主題不同)。

Razor引擎對文字模板的支援

文字模板是通過使用模型(資料)和模板在執行時生成內容的系統。它是在Scriban模板引擎上執行的。從這個版本開始,模板引擎我們有了第二個選擇:可以使用熟悉的 razor 語法來構建和渲染模板。參見文字模板Razor整合文件,開始使用新的引擎。

DbContext/Entities 新的定製點

ObjectExtensionManager.Instance中增加了兩個新的擴充套件方法: MapEfCoreEntity MapEfCoreDbContext,以重寫預建應用模組的 EF Core 對映。

示例:更改 IdentityDbContext 的對映以重寫 IdentityUser 實體的對映

ObjectExtensionManager.Instance.MapEfCoreDbContext<IdentityDbContext>(modelBuilder =>
{
    modelBuilder.Entity<IdentityUser>(b =>
    {
        b.ToTable("MyUsers");
        b.Property(x => x.Email).HasMaxLength(300);
    });
});

啟動模板包含 YourProjectNameEfCoreEntityExtensionMappings 類,用來新增上述程式碼。

ABP CLI 新命令

ABP CLI在v4.4引入新命令:

  • abp install-libs命令用於 MVC/Razor Pages和 Blazor Server 應用程式,用於恢復 wwwroot/libs 資料夾。之前我們是通過執行 yarngulp 命令來恢復該資料夾。雖然 install-libs 命令仍然使用 yarn(如果有的話,如果沒有呢?),但不再需要使用 gulp 了。
  • abp prompt命令可以用來開啟 ABP CLI 的提示,並執行多個命令,而不需要每次都指定 abp 命令。例如,如果你執行abp prompt,那麼你可以直接執行install-libs而不是abp install-libs。使用exit來從 ABP提示符 中退出。
  • abp batch命令可用於用一個命令執行多個ABP命令。準備一個文字檔案,將每個命令寫成一行(沒有abp命令字首),然後執行abp batch <batch-file>,比如:abp batch your_commands.txt命令來執行該檔案中的所有命令。

新增 appsettings.secrets.json 配置檔案

在啟動模板中新增了 appsettings.secrets.json 配置檔案,用來保護你的敏感/機密配置資訊。在原始碼控制中忽略這個檔案(如果你使用git,通過新增到.gitignore),並且只在開發和部署環境中保留它。

ABP Framework 其他改進

  • #9350 提取了IRemoteServiceConfigurationProvider以獲得遠端服務配置。可以替換該服務實現從任何來源獲得配置。
  • #8829 為分散式事件匯流排實現了錯誤處理和重試。
    #9288 在啟動模板中使用預設的CORS策略,而不是一個命名策略。建議更新自己的方案,使之更簡單。
  • 框架和模組的本地化提供:印度語、義大利語、芬蘭語、法語和斯洛伐克語。

除此以外,還有很多改進和錯誤修復。請參閱4.4-預覽里程碑,瞭解該版本修復的所有問題和合並的推送。

專案中需要用到工作流,可以看看這篇文章:《基於 ABP Framework 使用 Elsa 工作流》

釋出免費電子書:《Implementing Domain Driven Design》

六月初,為ABP社群出版了一本免費電子書。這是一本實施領域驅動設計(DDD)的實用指南。

中文版已翻譯完成,為了大家方便閱讀,整理成了電子書 《基於ABP Framework 實現領域驅動設計》中文完整版_v1.0_iEricLee譯

請入群:ABP Framework 研習社(QQ群:726299208)在共享檔案中下載

新主題預告:LeptonX Theme

即將釋出新主題,命名為LeptonX。該主題適用於 ABP Framework(免費精簡版)和 ABP Commercial(商業專業版)。大概要等幾周釋出第一個版本。

重點介紹免費精簡版 LeptonX-lite ,將包含專業版所具有的大部分基本功能元件

精簡版和專業版之間的一些區別:

  • 導航欄:移動標籤導航欄只在專業版提供。在精簡版中,用一個漢堡包選單替換。
  • 頁面佈局:精簡版將只發布側面選單佈局,未來可能釋出更多的佈局,因為基礎設施可使開發和替換佈局變得容易。
  • 主題顏色:在專業版提供不同顏色選項和在執行時改變顏色的能力。精簡版使用暗色構建。

詳細資訊參看介紹文件

關於下一版本

下一個主要版本:5.0,將基於 .NET 6.0 ,預計在2021年底釋出。計劃將在RC版本之前釋出多個預覽/Beta版本。有關5.0版本的計劃細節,請參見路線圖

dotNET兄弟會-公眾號

專注.Net開源技術及跨平臺開發!致力於構建完善的.Net開放技術文庫!為.Net愛好者提供學習交流家園!

image

相關文章