Javascript Bundling на визуальной студии 2015

System.Web.Optimization в Visual Studio 2013 предоставлял нам Bundling на javascript файлы, и лучшая часть этого позволяла нам работать с отдельными файлами или связывать их по мере необходимости. это отвлекало радость теперь на Visual Studio 2015 у нас есть ворчание и Task Runner, позвольте мне объединить и минимизировать, но переключение между связанными js и оригинальными файлами - это просто боль

У кого-нибудь есть решение использовать пакет оптимизации на VS 2015

Спасибо

Ответ 1

Пакет оптимизации стиля старого стиля не будет доступен в VS2015 для приложений ASP.NET 5.0: https://github.com/aspnet/Home/issues/134

Ответ 2

[Изменить] Расширение BundlerMinifier может выполнять объединение и минимизацию в качестве расширения Visual Studio, оно имеет ограниченные возможности по сравнению с GULP, GRUNT или моей любимой WebPack, но если вы хотите простое решение https://github.com/madskristensen/BundlerMinifier - это

длинный рассказ, похожий на ecm_dev, сказал, что старинный набор оптимизации стиля не будет доступен это правильный ответ, но это не помогло мне решить мою проблему с комплексом и минимизацией, и в течение нескольких месяцев она заставила меня найти замены, которые на самом деле были там Bower, GULP, Grunt, который Microsoft подталкивает нас к использованию

Я взял Бауэра в качестве менеджера пакетов Bower - замена nuget на клиентских файлах (css, js, less и т.д.) и Gulp в качестве задачи сборки op

gulp-bower Помогите вам вытащить пакеты Bower

main-bower-files Извлечь файлы Bower в нужные места

gulp-concat связывает ваши файлы css или js (любой файл)

gulp-uglify минимизировать ваши js файлы

gulp-less скомпилировать ваши меньше файлов

gulp-cssmin минимизировать ваши файлы css

gulp-inject вставляйте свои теги css и javascript в ваш .html или .cshtml

Gulp на самом деле более эффективен, чем System.Web.Optimization + Web Essential, но имеет много возможностей изучить это может быть не тот ответ, который вы ищете (когда я впервые задал этот вопрос немного больше месяца назад, он определенно не был моим)

но если вы ищете этот вопрос, у вас есть та же проблема, что и у меня для

включить Gulp в VS 2015: http://tom.cabanski.com/2014/11/23/using-gulp-with-asp-net-vnext-and-visual-studio-2015-preview/

Gulp 101: http://ilikekillnerds.com/2014/07/how-to-basic-tasks-in-gulp-js/

Мне нравится смотреть видео: https://www.youtube.com/watch?v=dwSLFai8ovQ

и вот еще одно сообщение в блоге: http://mmercan.com/blog/?p=271

Ответ 3

После прочтения документации и примеров здесь, у меня сразу был тот же вопрос. После шагов связывания и минимизации документы просто говорят "Теперь ссылайтесь на файлы".

Я провел немало исследований, пытаясь найти оптимальную практику для условно-ориентированных сценариев разработки и других для производства. Параметры, которые мне больше всего нравятся:

  • Используйте WireDep или gulp-inject, чтобы замените значения заполнителя в своем просматривать шаблоны с динамически заданными ссылками на файлы. Вы можете выбрать различные файлы для включения в свой gulpfile на основе среды и условно выбрать, следует ли связывать или нет. Это отлично работает для локальных файлов, но не настолько велико, если вы хотите использовать CDN.
  • Используйте помощник тега среды для условного определения ссылок на файлы. Эта опция отлично работает, если вы хотите ссылаться на файлы с CDN и дает вам возможность переключаться между локальными файлами для разработки и CDN файлами для производства.

Документация для WireDep и gulp -inject предоставляется в соответствующих ссылках.

Чтобы использовать помощник тега среды, убедитесь, что в вашем файле просмотра _GlobalImport имеется следующая строка.

@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"

Затем используйте его следующим образом:

<environment names="Development">
    <script src="~/js/script1.js"></script>
    <script src="~/js/script2.js"></script>
    <script src="~/lib/big-script-library.js"></script>
</environment>
<environment names="Staging,Production">
    <script src="~/js/bundle/script.min.js"></script>
    <script src="http://www.some-cdn-resource.com/big-script-library.min.js"></script>
</environment>

Имена окружения соответствуют переменной окружения ASP.NET 5 ASPNET_ENV.

Ответ 4

После того, как я целый день жалуюсь на Visual Studio 2015 для перемещения своего сыра, я успокоился и только когда впереди, чтобы узнать, как это сделать по-новому, я теперь возвращаюсь к любви vs2015:)

Если у вас уже настроены все ваши файлы, не беспокойтесь, не удаляйте существующую конфигурацию, мы будем использовать его

  • Установить веб-Essentials для 2115
  • Выберите файлы, которые вы хотите связать, если у вас уже были настроены файлы и их слишком много, выберите пару, которую мы можем изменить позже.
  • щелкните правой кнопкой мыши и выберите "Bundle and Minifier" - "Bundle and Minify Files" (Shift-Alt-F)
  • Сохраните вложенное в ваше местоположение prefeer (возможно, с другим именем из предыдущего, чтобы вы не переопределили его)
  • Первое отличие состоит в том, что вы не увидите файл yourfile.js.bundle. Вместо этого в корневой папке есть новый пакет bundleconfig.json
  • Если вы откроете файл, который вы видите сейчас, у вас может быть только один файл конфигурации для всех ваших пакетов.
  • Теперь вы можете скопировать свою существующую конфигурацию из вашего файла file.bundle, который является XML, и что ok
  • Вставьте в новый пакет bundleconfig.json и просто удалите все теги <file> </file>

и что он... ваш новый конфиг теперь настроен

вы можете получить больше информации о новом комплекте здесь

https://visualstudiogallery.msdn.microsoft.com/9ec27da7-e24b-4d56-8064-fd7e88ac1c40

Ответ 5

До веб-Essentials 2015 Bundler и Minifier были включены в основной плагин. С веб-Essentials 2015 это уже не так и было разделено на собственный плагин (Плагин на Visal Studio Marketplace)

Также обратите внимание, что переход на новый плагин позволяет использовать файл bundleconfig.json в корне вашего проекта вместо отдельных файлов конфигурации .bundle.