簡體   English   中英

如何在libman(庫管理器)asp.net Core 2.1中使用Microsoft.jQuery.Unobtrusive.Ajax?

[英]How do I use Microsoft.jQuery.Unobtrusive.Ajax with libman (Library manager) asp.net Core 2.1?

我試圖使用不顯眼的ajax來更新我的部分視圖。 不幸的是,當我要安裝軟件包時遇到問題,因為Bower根據https://docs.microsoft.com/en-us/aspnet/core/client-side不再工作(?)或推薦/bower?view=aspnetcore-2.1 相反,他們建議我們使用Libman。

我按照https://www.c-sharpcorner.com/article/unobtrusive-ajax-and-jquery-for-partial-updates-in-asp-net-mvc/中的步驟進行操作。

所以我已經安裝了nuget Microsoft.jQuery.Unobtrusive.Ajax-package,但是如何使用libman引用ajax-package?

我看了這個如何在我的ASP.NET核心MVC項目答案中引用Microsoft.JQuery.Unobtrusive.Ajax,但它只顯示了如何使用Bower。

我起初也和LibMan斗爭過。 我發現本指南指出了LibMan的GUI部分 在“項目右鍵菜單 - >添加 - >客戶端庫”下使用LibMan的UI部分幫助我找到更好的方法來定義我想要的文件並更容易地更改提供程序。

我最終得到的大部分文件來自cdnjs,但我設置了jquery-ajax-unobtrusive來自unpkg,如下所示:

{
    "provider": "unpkg",
    "library": "jquery-ajax-unobtrusive@3.2.6",
    "destination": "wwwroot/lib/jquery-ajax-unobtrusive/"
}

@mybirthname的答案很棒。 另一種方法是使用libman cli。 我們可以使用以下命令來安裝libman:

dotnet tool install --global Microsoft.Web.LibraryManager.Cli

現在您可以根據需要安裝jquery,jquery-validation-unobtrusive等等:

初始化libman.json

libman init 

安裝jquery-validation-unobtrusive的依賴項:

> libman install jquery-validation-unobtrusive
Destination [lib\jquery-validation-unobtrusive]:
lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js written to disk
lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js written to disk
Installed library "jquery-validation-unobtrusive@3.2.10" to "lib\jquery-validation-unobtrusive" 

安裝jquery的依賴:

> libman install jquery
Destination [lib\jquery]:
lib/jquery/core.js written to disk
lib/jquery/jquery.js written to disk
lib/jquery/jquery.min.js written to disk
lib/jquery/jquery.min.map written to disk
lib/jquery/jquery.slim.js written to disk
lib/jquery/jquery.slim.min.js written to disk
lib/jquery/jquery.slim.min.map written to disk
Installed library "jquery@3.3.1" to "lib\jquery"

[編輯]

要在npm上安裝jquery-ajax-unobtrusive ,因為它還沒有在cdnjs上,我們可以使用unpkg提供程序:

unpkg是一個快速的全球內容交付網絡,適用於npm上的所有內容

libman install -p unpkg jquery-ajax-unobtrusive

你可以使用npm。 在您的Web項目的根目錄中添加pakage.json文件

{
  "version": "1.0.0",
  "name": "your-system",
  "devDependencies": {
    "jquery-ajax-unobtrusive": "^3.2.4"
  },
  "exclude": [
  ]
}

現在,與庫相關的所有內容都將自動下載到node_modules/jquery-validation-unobtrusive

請注意,node_module文件夾不是項目的一部分,因此您需要單擊“ Show All Files以查看所有文件夾。

在此輸入圖像描述

之后,如果您想要始終擁有最新版本的庫而不是將文件復制到js文件夾,則可以使用bundle config。 運行這個:

Install-Package BuildBundlerMinifier -Version 2.8.391

之后,在您的Web項目的根目錄中創建json文件 - bundleconfig.json

[ 
  {
    "outputFileName": "wwwroot/js/myjs.min.js",
    "inputFiles": [
      "node_modules/jquery-ajax-unobtrusive/jquery.unobtrusive-ajax.min.js"
    ]
  }

]

這將在wwwroot js文件夾中的每個構建myjs.min.js文件上創建

Microsoft已編寫有關管理客戶端庫的幫助文檔。

https://docs.microsoft.com/en-us/aspnet/core/client-side/libman/libman-vs?view=aspnetcore-2.2

它具有在Visual Studio中使用“添加客戶端庫對話框”的步驟。 在“解決方案資源管理器”中,右鍵單擊要添加文件的項目文件夾。 選擇“添加”>“客戶端庫”。 將出現“添加客戶端庫”對話框。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM