Создать конкретные условные символы в приложении Windows 8 Metro Javascript? - PullRequest
1 голос
/ 24 января 2012

В приложениях C ++ и C # можно определить условные символы компиляции, такие как DEBUG, TRACE или RELEASE, и использовать их в программном коде для включения / отключения генерации кода с помощью # if.

Мне нужно сделать то же самое в приложении Windows 8 Metro Javascript: разные сборки (Debug / Release) ведут себя немного по-разному. Это как-то поддерживается?

Ответы [ 2 ]

1 голос
/ 31 января 2012

В Windows 8 Developer Preview, приложениях Visual Studio для JavaScript в стиле Metro отсутствует предварительная обработка JavaScriot и нет этапа компиляции.Однако вы можете через MSBuild подключить собственный препроцессор (или повторно использовать C).Вы можете просто отредактировать файл .wwaproj и добавить цель, которая вызывает ваш препроцессор.

  <Target Name="BeforeBuild">
  </Target>

В Интернете есть пара хороших статей * о том, как сделать подобное с минимизацией JavaScript в Visual Studio, что оченьаналогично вашим требованиям.* http://amusedia.blogspot.com/2010/11/minimize-javascript-and-css-with.html

0 голосов
/ 19 февраля 2012

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

Windows.ApplicationModel.Package.current.installedLocation.folderRelativeId 

содержит имя конфигурации сборки в виде подстроки (например, ".Debug."). Затем можно использовать эту информацию во время выполнения, чтобы делать разные вещи в зависимости от имени конфигурации сборки.

...