使用Chirpy和Razor语法



我刚刚开始使用Chirpy (v2.01和v2.03 - http://chirpy.codeplex.com/),虽然它与。js和。css文件一起工作得很好,但我在VS 2010中遇到了一些麻烦。

基本上,我有一个Razor文件,看起来像这样:

@{ ViewBag.Title = "Blah"}
@section Styles{ ... }
@section Scripts{ ... }
html

在不同的地方,我使用@foreach循环,并使用"@:"或通知什么是代码,什么是要输出。

说了又做了,Chirpy给了我数百个错误。它们都是:

Error 60 "missing name after .@" 
Error 62 "syntax error" 
Error 63 "invalid property id" 
Error 67 "missing ; before statement" 
Error 68 "illegally formed XML syntax" 

cshtml文件实际上没有问题,因为它们都在firefox/chrome中完美运行,没有错误。

有人能帮忙吗?如果可以的话,我想要一些内联的js缩小。

我也在codeplex网站上发布了这个查询(如果我得到响应,我会报告):http://chirpy.codeplex.com/discussions/283079

如果所有这些都失败了,我将直接进入代码(它是开源的)。有没有人提供比这里更好的起点:http://chirpy.codeplex.com/SourceControl/changeset/view/d003dad47915#Engines%2fViewEngine.cs ?

欢呼,戴兹。

就我从代码中看到的,Chirpy正在使用它的"常规"转换引擎来最小化CSS和JS。

这意味着最小化引擎不知道剃刀。因此,您不能使用razor代码,因为它可能会被最小化引擎错误地解释。这几乎排除了所有内容。

实际上,这确实很有意义,因为minifier只能在扩展的代码上工作,就像这样,不能被"缩小"(对于.less/css也是如此):

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

最新更新