在运行时为 ASP.NET 核心缩小动态生成的 JavaScript

Minify dynamically generated JavaScript at runtime for ASP.NET Core

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

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

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

Minifier class 是 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 中实现相同的结果?

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 的方法。