繁体   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