我刚刚开始使用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>