【问题标题】:Manually bundle and minify JS from a controller action从控制器操作中手动捆绑和缩小 JS
【发布时间】:2013-10-09 14:40:48
【问题描述】:

我喜欢 ASP.NET MVC 4.5 中的 Bundling and Minification 并经常使用它。

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    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 包中获得它。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    • 2014-11-26
    • 2013-06-27
    • 2012-06-28
    相关资源
    最近更新 更多