从控制器操作手动捆绑和缩小 JS

本文关键字:缩小 JS 控制器 操作手 | 更新日期: 2023-09-27 18:34:40

我喜欢MVC 4.5中的捆绑和缩小 ASP.NET 并且经常使用它。

但是,一个小问题是我们的"插件"托管在无cookie域上,该域位于Visual Studio解决方案中的单独项目中。

我正在寻找一种解决方案,允许我们的主站点从无 cookie 站点请求包含任意数量的插件的捆绑和缩小的 JS 文件。像这样:

http://my.cookieless.domain/plugins.js?include=alpha&include=bravo,charlie

到目前为止,我能找到的最佳解决方案是使用 3rd 方捆绑和缩小库,考虑到 ASP.NET 内置了一个库,这似乎有点矫枉过正。

是否可以手动调用 ASP。从控制器内部操作进行 NET 捆绑/缩小过程?

public JavaScriptResult Index(IList<string> include)
{
    //bundle and minify JS
}

从控制器操作手动捆绑和缩小 JS

我在寻找类似的东西时遇到了这个,这是解决方案:

public ActionResult DynamicJs()
{
      // Obviously this will be dynamically generated
      string javaScript = new Minifier().MinifyJavaScript("alert('Hello world!');");
      //returns minified javaScript
      return JavaScript(javaScript);
}

CSS也是如此。您可能希望使用:

 new Minifier().MinifyStyleSheet(styleSheet, new CssSettings { ColorNames = CssColor.Hex }

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