【问题标题】:asp.net mvc-4 and grunt-uglifyasp.net mvc-4 和 grunt-uglify
【发布时间】:2015-12-30 13:50:12
【问题描述】:

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

如果我设置

 BundleTable.EnableOptimizations = true;

或在 web.config 中

<compilation debug="false" />

显然捆绑包自己连接所有文件,不要使用 grunt 生成的最小文件。

所有调试版本在同一个文件夹中都有自己的缩小版本,例如:

文件夹 A

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

文件夹 B

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

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

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

【问题讨论】:

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


    【解决方案1】:
     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>
    

    【讨论】:

      猜你喜欢
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2018-11-27
      • 2014-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多