【问题标题】:Express + Jade giving me syntax errorsExpress + Jade 给我语法错误
【发布时间】:2013-02-10 13:19:12
【问题描述】:

我是第一次使用 Jade + Express,只是在玩弄它看看能做什么。

我正在使用 Brian Fords seed app 作为我的学习基础以及第一次使用 Jade(模板引擎)。

但是,当我尝试写出一个新的 index.jade 文件时,Express 不断给我语法错误或缩进标记错误。

这是我尝试使用的代码。

doctype 5
   html(lang="en" ng-app="myApp")
   head
     meta(charset='utf8')
     base(href='/')
     link(rel='stylesheet' href='/css/app.css')
     title= pageTitle
   body
     block body

任何帮助将不胜感激:)

编辑

给出的错误是:

500 Error: /Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/views/layout.jade:2 1| doctype 5 > 2| html(lang="en" ng-app="myApp") 3| head 4| meta(charset='utf8') 5| base(href='/') unexpected token "indent"
1| doctype 5
> 2| html(lang="en" ng-app="myApp")
3| head
4| meta(charset='utf8')
5| base(href='/')
unexpected token "indent"
at Object.Parser.parseExpr (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/jade/lib/parser.js:241:15)
at Object.Parser.parse (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/jade/lib/parser.js:134:25)
at Object.Parser.parse (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/jade/lib/parser.js:140:24)
at parse (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/jade/lib/jade.js:100:62)
at Object.exports.compile (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/jade/lib/jade.js:163:9)
at Object.exports.render (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/jade/lib/jade.js:215:17)
at View.exports.renderFile [as engine] (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/jade/lib/jade.js:243:13)
at View.render (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/express/lib/view.js:75:8)
at Function.app.render (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/express/lib/application.js:505:10)
at ServerResponse.res.render (/Users/Keva161/Documents/Web Dev/Webapps/Node/angular-express-seed/node_modules/express/lib/response.js:717:7)

【问题讨论】:

  • 你能在抛出的错误旁边发布吗?
  • 编辑了第一篇文章并给出了确切的错误.. 对此感到抱歉!
  • 完美!.. Jade 确实说过你没想到会有缩进.. :)

标签: express pug


【解决方案1】:

我认为玉将您的 html 解释为在文档类型中。而不是!

doctype 5
html(lang="en" ng-app="myApp")
 head
   base(href='website.domain/url')
   link(rel='stylesheet', href='css/app.css', type='text/css')
   title pageTitle
 meta(http-equiv="content-type", content="#{contentType}; charset=UTF-8")
 body

我也不确定block body 的用途是什么?! AFAIK,block body 将在您使用另一个视图文件并将文本附加到布局文件时使用。

【讨论】:

    【解决方案2】:

    html(lang="en" ng-app="myApp")

    你可能需要添加一个逗号,像这样

    html(lang="en", ng-app="myApp")

    【讨论】:

      【解决方案3】:

      你的代码应该是这样的

      doctype html
      html(lang="en" ng-app="myApp")
          head
              meta(charset='utf8')
              base(href='/')
              link(rel='stylesheet' href='/css/app.css')
              title= pageTitle
          body
              block body
      
      1. 你不应该在 doctype 中缩进 html 标签
      2. 你必须在html标签内缩进body和head标签

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-28
        • 2012-07-25
        • 2014-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多