Needed - Visual Studio Custom Build Actions для минимизации JS и CSS

Я использовал Combres в своих приложениях для сжатия, объединения и минимизации javascript и css во время выполнения. Это работает очень хорошо и отлично удовлетворяет YSlow.

Теперь я переосмысливаю весь процесс по соображениям производительности, и я больше думаю об этом во время сборки, а не во время выполнения.

Я надеюсь, что смогу получить небольшой совет о том, как это сделать без лишних хлопот. Есть ли существующий инструмент (похожий на Combres), который может делать то, что мне нужно?

Ответы

Ответ 1

Я изначально использовал Chirpy, чтобы сделать свою привязку, но с тех пор перешел на Bundler. Bundler позволяет с легкостью подключить все, что угодно, в сексуальном файле сборки (powershell). Я лично отошел от событий Visual Studio Build и начал запускать сборки в автономной среде. Это помогает мне с такими вещами, как Github в Team City Непрерывная интеграция (CI).

Здесь может выглядеть ваш файл сборки. (примечание может не выполняться полностью, это не проверено)


build.ps1

# Set up varriables for build script
$invocation = (Get-Variable MyInvocation).Value
$directorypath = Split-Path $invocation.MyCommand.Path
$BundlerDir = "$directorypath\build_tools\bundler\"
$AppRoot = "$directorypath\SomeApp.Web\"   
$ScriptsDir = "scripts\"                                   
$CssDir = "css\"                  

# Run Bundler to Combine and Minify
&($BundlerDir + "node.exe") ( $BundlerDir + "bundler.js") ($AppRoot +$CssDir) ($AppRoot + $ScriptsDir)

# Everything else...
#    Clean the bins
#    Build the projects
#    Run the tests

Ответ 2

Знакомство с Chirpy

alt text

Chirpy Mashes, уменьшает и проверяет ваши файлы javascript, stylesheet и dotless.

Чирпи - чиппи. Используйте Google Closure Tools или YUI Compressor для .Net, чтобы минимизировать и размять все ваши драгоценные активы. Это легко, гибко и автоматически.

Дополнительная информация здесь или на сайте CodePlex

Ответ 4

Вы также можете взглянуть на ajaxtoolkit, у них есть 2 задачи для сжатия JS.