asp.net mvc-4 и grunt-uglify

Как управлять файлами .min, сгенерированными версией grunt-uglify и «debug»?

Если я установлю

 BundleTable.EnableOptimizations = true;

или в web.config

<compilation debug="false" />

по-видимому, пакет объединяет все файлы сам по себе и не использует минимальные файлы, созданные grunt.

У всех отладочных версий есть собственная мини-версия в той же папке, например:

Папка А

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

Папка Б

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

PS: я не ссылаюсь на мини-файлы в bundleConfig.cs.

Какое лучшее решение, чтобы справиться с этим? Мне нужно использовать ТОЛЬКО мини-файлы, созданные GRUNT в момент выпуска, и все еще использовать отладочную версию во время разработки.


person Felipe    schedule 30.12.2015    source источник


Ответы (1)


 BundleTable.EnableOptimizations = true;

Этот код работает, только если вы используете BundleConfig.cs

Я думаю, что лучший способ для вас — создать собственный UrlHelper, который может создавать URL-адреса JS-скриптов в зависимости от того, находитесь ли вы в режиме отладки или нет (это псевдокод):

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>
person Guillaume    schedule 30.12.2015