asp.net mvc-4和grunt-uglify

时间:2015-12-30 13:50:12

标签: asp.net-mvc-4 gruntjs grunt-contrib-uglify

如何管理grunt-uglify和“debug”版本生成的.min文件?

如果我设置

 BundleTable.EnableOptimizations = true;

或在web.config

<compilation debug="false" />

显然捆绑包本身连接所有文件,不使用grunt生成的min文件。

所有调试版本都在相同的文件夹ex:

中有自己的缩小版本

文件夹A

  • testA.js
  • testA.min.js
  • ...

文件夹B

  • testB.js
  • testB.min.js
  • ...

PS:我没有在bundleConfig.cs中引用缩小的文件。

处理它的最佳解决方案是什么?我需要在发布时使用GRUNT生成的最小化文件,并且在开发时仍然使用调试版本。

1 个答案:

答案 0 :(得分:0)

 BundleTable.EnableOptimizations = true;

此代码仅在您使用BundleConfig.cs

时有效

我认为最好的方法是创建一个自定义UrlHelper,根据您是否处于调试模式(这是伪代码),可以构建JS脚本URL:

public static class UrlHelper
{
    public static string JsScript(this UrlHelper urlHelper, string baseFileName) {
        return HttpContext.Current.IsDebuggingEnabled
            ? urlHelper.Content(baseFileName + '.js')
            : urlHelper.Content(baseFileName + '.min.js');
    }
}

例如,如果您想在Razor视图中使用它:

<script src="@Url.JsScript("~/js/folderA/testA")"></script>