【问题标题】:JADE/SCALATE template error - InvalidSyntaxExceptionJADE/SCALATE 模板错误 - InvalidSyntaxException
【发布时间】:2013-02-28 21:58:09
【问题描述】:

我正在尝试 Jade(通过 Scalate)并且遇到了一个我找不到答案的错误。 (或者,至少没有看到。)我使用 BlueGriffon 模拟了一个表单(自从我编写 HTML 代码以来已经有好几年了……)并将生成的 HTML 放入 Aarron Powel 的 HTML-JADE 转换器中。这是我的 .jade 模板文件中的顶部或翻译:

br
form(method='POST', action='/account/create', name='userAccountDetails')
  |用户名:
  输入(required='required', name='username', type='text')

等等,等等,

尝试运行嵌套的 scala 应用程序会生成此错误:

org.fusesource.scalate.InvalidSyntaxException: )' expected but,' 发现于 5.19 在 org.fusesource.scalate.scaml.ScamlParser.parse(ScamlParser.scala:375) 在 org.fusesource.scalate.jade.JadeCodeGenerator.generate(JadeCodeGenerator.scala:38)

它似乎不喜欢逗号分隔的属性,但我不知道为什么。此外,在堆栈跟踪剪辑中,它似乎正在拉入一个 Scaml 解析器,即使该文件具有 .jade 扩展名。

有人能指出我正确的方向吗?谢谢。

【问题讨论】:

    标签: scala pug scalatra scalate


    【解决方案1】:

    对于发现自己的人来说,问题(至少对我而言)似乎是由于 JADE 的 Scala/Scalatra 和 JavaScript/NodeJS 实现之间的语法差异。幸运的是,我对 JADE 示例的搜索出现了后者——无论是在实用程序方面,还是在论坛问答方面——都表明逗号的必要性。

    解决方案:删除逗号,一切正常:

    !!!
    h2 新帐户设置
    br
    形式(方法='PUT'操作='/帐户/创建')
    ...

    编辑:更准确地说,差异实际上在于由 Scalatra 集成的 Scalate(Scala 模板引擎)。 (可能还有一些其他基于 JADE 的 scala 库遵循原始语法。)

    【讨论】:

    • 是的,我只是在同样的问题上浪费了一些时间。 ://
    猜你喜欢
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多