Необходимые действия Visual Studio для создания JS и CSS. - PullRequest
13 голосов
/ 04 октября 2010

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

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

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

Ответы [ 4 ]

13 голосов
/ 13 октября 2010

Meet Chirpy

alt text

Chirpy Разбивает, минимизирует и проверяет ваш javascript, таблицу стилей и файлы без точек.

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

Подробнее здесь или на сайте CodePlex

4 голосов
/ 11 октября 2010

Проект MSBuild Community Tasks имеет задачу JSCompress.Проверьте проект здесь: http://msbuildtasks.tigris.org/

Вот еще один ресурс о том, как на самом деле реализовать эту задачу: http://www.justise.com/2007/04/20/javascript-and-css-compression-in-msbuild/

2 голосов
/ 14 февраля 2013

Первоначально я использовал 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
0 голосов
/ 11 июля 2012

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

...