2011-12-15 2 views
1

Я только начал использовать Chirpy (Both v2.01 и v2.03 - http://chirpy.codeplex.com/), и хотя он отлично работает с .js и .css-файлами, у меня проблемы с любой Бритва Синтаксис в VS 2010.Использование Chirpy with Razor Syntax

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

@{ ViewBag.Title = "Blah"} 

@section Styles{ ... } 

@section Scripts{ ... } 

html 

в разных местах я использую @foreach петли и использовать либо «@:» или уведомить что такое код и что должно выводиться.

Все сказано и сделано, Чирпи дает мне сотни ошибок. Все они либо:

Error 60 "missing name after [email protected]" 

Error 62 "syntax error" 

Error 63 "invalid property id" 

Error 67 "missing ; before statement" 

Error 68 "illegally formed XML syntax" 

Там на самом деле нет проблем в cshtml файлов, как все они работают отлично в Firefox/хром без ошибок.

Может ли кто-нибудь помочь? Если бы он был доступен, вам понравилось бы небольшое inline js minification.

Я отправил этот запрос на Codeplex сайте также (и доложит, если я получить ответ): http://chirpy.codeplex.com/discussions/283079

Если все остальное терпит неудачу, я буду прыгать в код (это с открытым исходным кодом). Любое предлагает лучшее место для начала, чем здесь: http://chirpy.codeplex.com/SourceControl/changeset/view/d003dad47915#Engines%2fViewEngine.cs?

Cheers, Daz.

ответ

2

Как я могу видеть из кода, Chirpy использует свои «обычные» механизмы преобразования, чтобы минимизировать CSS и JS.

Это означает, что минирующие двигатели не знают бритву. Таким образом, вы не можете использовать код бритвы, который может быть неправильно интерпретирован двигателем-индикатором. Это в значительной степени исключает все.

На самом деле, это делает много смысла, так как Minifier может работать только на расширенный код, что-то вроде этого, просто не может быть «уменьшенным» (то же самое верно и для .less/CSS):

<script> 
     @for(int i = 0; i < 10: i++) { 
      var [email protected] = @(i * i); 
     } 
     alert([email protected](variable_from_razor)); 
    </script>