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

Eri*_*erg 17 c# ajax jquery asp.net-core-mvc asp.net-core

我试图使用不显眼的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.

Pin*_*ski 11

一开始我也和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/"
}
Run Code Online (Sandbox Code Playgroud)


itm*_*nus 8

@mybirthname的答案很棒.另一种方法是使用libman cli.我们可以使用以下命令来安装libman:

dotnet tool install --global Microsoft.Web.LibraryManager.Cli
Run Code Online (Sandbox Code Playgroud)

现在您可以根据需要安装jquery,jquery-validation-unobtrusive等等:

初始化libman.json:

libman init 
Run Code Online (Sandbox Code Playgroud)

安装依赖项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" 
Run Code Online (Sandbox Code Playgroud)

安装依赖性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"
Run Code Online (Sandbox Code Playgroud)

[编辑]

jquery-ajax-unobtrusive在npm上安装,因为它尚未在cdnjs上,我们可以使用unpkg提供程序:

unpkg是一个快速的全球内容交付网络,适用于npm上的所有内容

libman install -p unpkg jquery-ajax-unobtrusive
Run Code Online (Sandbox Code Playgroud)


myb*_*ame 7

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

{
  "version": "1.0.0",
  "name": "your-system",
  "devDependencies": {
    "jquery-ajax-unobtrusive": "^3.2.4"
  },
  "exclude": [
  ]
}
Run Code Online (Sandbox Code Playgroud)

现在,与库有关的所有内容都将自动下载node_modules/jquery-validation-unobtrusive.

请注意,node_module文件夹不是项目的一部分,因此您需要单击Show All Files以查看所有文件夹.

在此输入图像描述

之后,如果您想要始终拥有最新版本的库而不是将文件复制到js文件夹,则可以使用bundle config.运行这个:

Install-Package BuildBundlerMinifier -Version 2.8.391
Run Code Online (Sandbox Code Playgroud)

之后创建json文件 - bundleconfig.json在您的Web项目的根目录中

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

]
Run Code Online (Sandbox Code Playgroud)

这将myjs.min.js在您的js文件夹中的每个构建文件上创建wwwroot