【问题标题】:How do I use a jQuery libary in ASP.NET Core?如何在 ASP.NET Core 中使用 jQuery 库?
【发布时间】:2019-07-26 01:13:51
【问题描述】:

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

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

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

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

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

【问题讨论】:

标签: jquery asp.net jquery-ui asp.net-core jquery-plugins


【解决方案1】:

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

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

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

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

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

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

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

【讨论】:

  • 非常感谢!这正是我正在寻找的答案。请问,如果我手动将它添加到根文件夹,并且真的不关心使这些插件保持最新状态,还有其他问题需要担心吗?我一定会研究 grunt,因为我已经阅读了一些关于它的内容。
  • 嗯,主要问题是源代码控制。就像我说的,wwwroot/lib 文件夹应该被忽略,因此您不会在自己的存储库中保留一堆第三方代码。但是,您现在可以简单地将插件放在wwwroot 的其他位置。我仍然鼓励你继续前进,让自己面向现在。在你积累一些未来的知识之前暂时做一些事情是一种技术债务,你可能不会重新审视它。
猜你喜欢
  • 1970-01-01
  • 2019-10-07
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 2020-10-26
  • 2016-10-22
  • 2021-04-12
相关资源
最近更新 更多