首页 > 解决方案 > 在运行时为 ASP.NET Core 缩小动态生成的 JavaScript

问题描述

在 ASP.NET MVC 5 中,您可以通过以下方式实现:

public ActionResult DynamicJs()
{
  // dynamically generated
  string javaScript = new Minifier().MinifyJavaScript("alert('Hello world!');");

  // returns minified javaScript
  return JavaScript(javaScript);
}

Minifier 类是 Microsoft.Ajax.Utilities 的成员,您可以从 WebGrease Nuget 包中获得它。

但是,在 ASP.NET Core 中,此包不适用于 .NET Core,许多人使用 Mads Kristensen 的 BundlerMinifier.Core 包进行缩小。https://www.nuget.org/packages/BundlerMinifier.Core/3.2.449

如何在 ASP.NET Core 中实现相同的结果?

标签: c#asp.netasp.net-corebundling-and-minification

解决方案


NUglify 是 BundlerMinifier.Core 的底层依赖项,它完成了所有繁重的工作。

您可以使用它来实现相同的结果。

//dynamically generated
string javaScript = "alert('Hello world!');";

//set ContentType as the JavaScript() object is not available in .NET Core
ContentResult result = new ContentResult
{
  ContentType = "application/javascript", 
  Content = NUglify.Uglify.Js(javaScript).Code
};
        
return result;

Uglify 也有 CSS 和 HTML 的方法。

在此处输入图像描述


推荐阅读