使用 MVC Core 进行捆绑和缩小

Boj*_*jan 5 c# bundling-and-minification asp.net-core-mvc

我发现很多文章都向我指出 BundleConfig.cs 不再是 MVC 的东西。相反,我想使用第三方工具来实现这一点。至少,这是我的理解。我花了很多时间研究并试图理解,但找不到任何关于如何使用bundlingconfig.json. 微软的一些文章,比如这篇https://docs.microsoft.com/en-us/aspnet/core/client-side/bundling-and-minification?view=aspnetcore-2.1&tabs=visual-studio% 2Caspnetcore2x讨论了默认模板如何使用它,但它没有告诉我他们究竟是如何实现它的。此外,当我尝试使用核心 2.1 项目创建新模板时,它不存在。所以我很困惑如何让我的 bundleconfig.json 工作。

现在,我喜欢从头开始并构建事物,因此我可以很好地了解它们的工作原理,以便在将来出现问题时可以修复它们。因此,我创建了一个没有任何内容的全新项目,并添加了我的控制器、视图以及获得基本网站所需的一切。然而,仅仅通过自己添加配置文件,它什么都不做。我希望它是 mvc 框架的一部分,它会选择它并知道如何处理它。但我想情况并非如此,除了配置文件之外,我找不到任何关于我需要添加什么才能使其工作的说明。

有人能指出我正确的方向吗?

[
  {
    "outputFileName": "wwwroot/css/Test.css",
    "inputFiles": [
      "wwwroot/css/Global.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

然后在我的 cshtml 页面中我添加了

<link rel="stylesheet" href="~/css/Test.css" />
Run Code Online (Sandbox Code Playgroud)

Sev*_*us5 5

从链接中的捆绑和缩小的构建时执行部分:

BuildBundlerMinifier NuGet 包允许在构建时执行捆绑和缩小。该包注入在构建和清理时运行的 MSBuild 目标。bundleconfig.json 文件由构建过程分析以根据定义的配置生成输出文件。

您需要做的就是将包添加到主项目

<PackageReference Include="BuildBundlerMinifier" Version="2.8.391" />
Run Code Online (Sandbox Code Playgroud)

或者,如果您想从控制台捆绑和缩小,请添加以下 nuget:

<DotNetCliToolReference Include="BundlerMinifier.Core" Version="2.8.391" />
Run Code Online (Sandbox Code Playgroud)

并在项目目录的控制台中 dotnet bundle