【发布时间】:2019-11-22 12:39:18
【问题描述】:
我知道我一定遗漏了一些非常明显的东西,但是 js 文件在哪里? 我通过 nuget 安装包,但是当我检查 js 文件以将它们包含在我的页面中时,我无法在任何地方找到它们。
我该怎么办?
【问题讨论】:
我知道我一定遗漏了一些非常明显的东西,但是 js 文件在哪里? 我通过 nuget 安装包,但是当我检查 js 文件以将它们包含在我的页面中时,我无法在任何地方找到它们。
我该怎么办?
【问题讨论】:
多年来,尽管 NuGet 已经失宠,但获取 Web 前端资源(html、css、js)。我预计这主要是由于缺乏灵活性(使用包的开发人员无法决定文件的去向,包作者可以)。我感觉到大量 ASP.NET 开发人员开始使用非 .NET 开发人员用于这些文件的相同工具,主要是 npm。您可以通过 ASP.NET Core 的 angular 和 react 模板看到这一点,默认情况下使用 npm。 webapp 和 mvc 模板现在只是在他们的模板中发布了一些版本的 bootstrap 和 jquery,没有工具支持来更新它们,只是评论说:
/* 请参阅https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 的文档 有关配置此项目以捆绑和缩小静态 Web 资产的详细信息。 */
由于使用 npm 的生态系统并非易事(不是说难,只是非易事),ASP.NET 团队创建了一个简单的库管理器,名为 LibMan。
所以,我建议要么使用 LibMan 来获取 jquery 和任何其他你想要的前端资源,或者尽可能深入 npm/webpack 兔子洞,你可以让它变得像你一样简单或复杂喜欢取决于你想要什么功能。或者只是从 jquery 的网站下载文件并将其复制到您的存储库中。
NuGet 包对您不起作用的原因是因为该包只包含一个content 文件夹,但是migrating from packages.config to packagereference 上的 NuGet 文档特别指出了"content" assets are no longer available。包作者可以使用 contentFiles 使其包与使用 PackageReference 的项目兼容,但包使用者对此无能为力。
【讨论】: