2024年10月17日 星期四

[研究]NuGet與Libman安裝bootstrap 5.3.3結果比較

[研究]NuGet與Libman安裝bootstrap 5.3.3結果比較

2024-10-17

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 19

********************************************************************************

NuGet安裝bootstrap 5.3.3結果

下圖,.css類的安裝在Content目錄;.js和.map安裝到 Scripts 目錄


********************************************************************************

Libmna安裝bootstrap 5.3.3結果





********************************************************************************

比較

libman安裝的bootstrap 5.3.3比NuGet安裝的,多了scss目錄。

註:NuGet 目前沒有 "bootstrap scss" 這種單獨安裝 scss 的選項。

********************************************************************************

NuGet 安裝 bootstrap 5.3.3 沒有提供 scss,但 libman 安裝 bootstrap 5.3.3 有提供,為什麼?

ChatGPT 說:

這是因為 NuGet 和 LibMan(Library Manager)處理前端資源的方式不同:

  • NuGet 主要用來管理後端的依賴項,特別是針對 .NET 相關的庫。當你通過 NuGet 安裝 Bootstrap 時,它會側重於提供最常見的用例,通常只包含經過編譯的 CSS 和 JavaScript 文件,而不包括 SCSS 源文件。這是因為很多開發者並不需要編譯 Bootstrap,而只需直接使用其已編譯的資源。
  • LibMan 是一個針對前端資源的輕量級管理工具。LibMan 允許你直接從外部的內容交付網絡(如 CDN)下載前端資源。在使用 LibMan 安裝 Bootstrap 時,它會下載完整的 Bootstrap 包,包括 SCSS 源文件。LibMan 可以更靈活地下載前端資源,不同於 NuGet 的篩選方式。

總結來說,這是由於兩者的設計理念和主要用途不同。LibMan 更適合於管理前端的資源,並且提供了更多樣的資源內容(例如 SCSS),而 NuGet 偏重於後端的管理,因此只包含部分前端資源。

(完)

相關