首页 > 解决方案 > 如何在 ASP.NET Core 中使用 jQuery 库?

问题描述

我正在使用 ASP.NET Core 2.2 开发一个网站,主要使用剃须刀页面。

我正在尝试制作一个树表并找到一个非常适合的 jQuery 插件,但我不确定如何以一种好的方式使用它。

https://www.jqueryscript.net/table/Tree-Table-Plugin-Bootstrap-GTreeTable.html

这是我要使用的插件,我不知道从哪里开始。

我们也在使用区域,所以我想这会让路径有点不同?我只是将脚本放在根文件夹中吗?

标签: jqueryasp.netjquery-uiasp.net-corejquery-plugins

解决方案


通常,您需要引用的静态文件(例如脚本)只需要进入您的wwwroot目录即可。一旦发布,这将映射到您的文档根目录,因此您wwwroot在引用静态资源时基本上会忽略该部分,即:~/lib/jquery/jquery.js.

按照惯例,“库”文件——不是你自己写的东西——放在wwwroot/lib目录中。因此,您实际上可以直接下载您的插件并放置一些类似wwwroot/lib/jquery-treeview. 然后,您只需要根据该库的文档在您的视图中添加适当的静态引用(即link/标记)。script

但是,以这种方式手动完成,然后您有责任使其保持最新并自己可用。在源代码控制中也很容易忽略wwwroot/lib,因为这些库通常会通过其他方式引入,并且您不希望将第三方代码提交到您自己的存储库中。这给上述手动方法带来了问题。

总而言之,您需要使用某种包管理工具将您的第三方库拉入wwwroot/lib. 最初,bowerVisual Studio 内置了对 GUI 和所有内容的支持。不过,后来bower结束了开发。微软已经做出回应,添加了他们所称的内容LibMan(“图书馆经理”的简称)。如果你愿意,你当然可以使用它,它在很多方面都缺乏。它的主要失败之处在于它依赖于 cdnjs 作为库源。如果该库恰好托管在 cdnjs 上,那很好,但是如果您需要一个不是的库,那么您就很不走运,并且回到了如何正确管理该库和任何其他库的相同问题不受支持的库。

更好的方法是使用npm包管理器,但这需要更多的努力。最大的障碍是节点包被添加到臭名昭著的node_modules目录中,默认情况下不提供。有些人可能会建议您将此目录也简单地添加到静态文件中间件,但这是一个错误。该目录不打算提供,也不应该提供。

相反,您需要gruntgulpwebpack 之类的东西,甚至只是简单的npm 脚本。使用其他任何这些,您可以创建“构建”脚本,用于将库从node_modules您的wwwroot/lib目录中选择性地移动到您的目录中,包括仅选择其中的文件。

如何设置所有这些取决于您决定使用哪种工具,并且随后远远超出了 Stack Overflow 的范围。Microsoft 有一些基本文档(gruntgulp),但除此之外,Google 是您的朋友。


推荐阅读