c# - 在运行时为 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 中实现相同的结果?
解决方案
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 的方法。
推荐阅读
- sql - BigQuery:模糊连接两个表
- angular - Angular 中的子组件在 Storybook 中无法识别,同时与 ng serve 完美配合
- html - 借助 html 中的表格创建图片库
- c# - 我无法在 C# 中使用 IComparable 接口比较两个对象
- r - 自动命名表并导出为图像?
- scala - Scala 中的 Future 和 Promise 是什么?
- javascript - 是否有可靠的方法来衡量 JavaScript 中代码的性能?
- typescript - Vue 3,Typescript:如何将参数传递给模板引用?
- ios - 在单独的类错误中实现objective-c UITableViewDelegate和Datasource
- teradata - 金融行业事件实体数据模型(Teradata)