【问题标题】:Bundling & Minification with MVC Core使用 MVC Core 捆绑和缩小
【发布时间】:2019-03-05 11:01:08
【问题描述】:

我发现很多文章向我指出 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 讲了默认模板是如何使用它的,但是并没有告诉我他们究竟是如何实现的。此外,当我尝试使用 core 2.1 项目创建新模板时,它不存在。所以我很困惑如何让我的 bundleconfig.json 工作。

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

谁能指出我正确的方向?

[
  {
    "outputFileName": "wwwroot/css/Test.css",
    "inputFiles": [
      "wwwroot/css/Global.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  }
]

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

<link rel="stylesheet" href="~/css/Test.css" />

【问题讨论】:

  • 您需要 Visual Studio 的捆绑和修改扩展。很遗憾教程没有提到这种依赖关系
  • 我看到了关于扩展的注释,但那是一个 Visual Studio 扩展,它可以为我完成所有工作,如果它停止工作或出现问题,我不知道如何修复它,所以我想学习与使用扩展不同的方式。
  • 您仍在使用第三方代码,所以我看不出有什么区别。 @Severius5 回答的只是扩展程序所做的事情之一。
  • 我的理解是扩展为我构建了 bundleconfig 文件,我宁愿学习它是如何工作的,而不是生成它
  • 不,您必须自己创建文件。扩展无法知道你想做什么。该扩展程序用于自动构建

标签: c# asp.net-core-mvc bundling-and-minification


【解决方案1】:

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

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

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

<PackageReference Include="BuildBundlerMinifier" Version="2.8.391" />

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

<DotNetCliToolReference Include="BundlerMinifier.Core" Version="2.8.391" />

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

【讨论】:

    猜你喜欢
    • 2014-11-26
    • 2018-05-11
    • 1970-01-01
    • 2013-02-21
    • 2014-05-22
    • 1970-01-01
    • 2017-12-12
    • 2014-04-16
    • 1970-01-01
    相关资源
    最近更新 更多