индивидуально минимизировать JS и CSS в Visual Studio 2010 - PullRequest
5 голосов
/ 22 февраля 2010

В настоящее время я выполняю миграцию проекта в Visual Studio 2010 и пытаюсь выяснить, как минимизировать файлы JS и CSS по отдельности при сборке.

В Visual Studio 2008 я использовал Проекты веб-развертывания с задачей сборки, которая ссылалась на порт C # YUI Compressor . В Visual Studio 2010 проекты веб-развертывания, похоже, были интегрированы в процесс сборки. Сейчас в публичной бета-версии есть Microsoft AJAX Minifier , и я запутался как никогда.

Я нашел эту запись в блоге , которая делает бизнес с Microsoft AJAX Minifier непростым делом из-за ограничений CSS. Это не должно сбивать с толку ... это должен быть флажок в Visual Studio 2010.

Есть ли простой способ сделать это с помощью Visual Studio 2010? Что мне здесь не хватает, люди?

1 Ответ

4 голосов
/ 22 февраля 2010

Это все еще возможно с VS2010, отредактировав файл csproj aka msbuild.

Взято из этой темы в CodePlex.

<ItemGroup>
  <JavaScriptFiles Remove="@(JavaScriptFiles)" />
  <JavaScriptFiles Include="../js/2.js"/>
</ItemGroup>
<CompressorTask
  JavaScriptFiles="@(JavaScriptFiles)"
  ObfuscateJavaScript="True"
  PreserveAllSemicolons="False"
  DisableOptimizations="Nope"
  EncodingType="Default"
  DeleteJavaScriptFiles="false"
  LineBreakPosition="-1"
  JavaScriptOutputFile="../js/2.min.js"
  LoggingType="ALittleBit"
  ThreadCulture="en-au"
  IsEvalIgnored="false"/> 
<ItemGroup>
  <JavaScriptFiles Remove="@(JavaScriptFiles)" />
  <JavaScriptFiles Include="../js/3.js" />
  <JavaScriptFiles Include="../js/4.js" />
</ItemGroup>
<CompressorTask
  CssFiles="@(CssFiles)"
  DeleteCssFiles="false"
  CssOutputFile="../css/release.css"
  CssCompressionType="YuiStockCompression"
  JavaScriptFiles="@(JavaScriptFiles)"
  ObfuscateJavaScript="True"
  PreserveAllSemicolons="False"
  DisableOptimizations="Nope"
  EncodingType="Default"
  DeleteJavaScriptFiles="false"
  LineBreakPosition="-1"
  JavaScriptOutputFile="../js/3.min.js"
  LoggingType="ALittleBit"
  ThreadCulture="en-au"
  IsEvalIgnored="false"/>

...