玉意外的令牌"缩进"

时间:2014-03-17 20:30:34

标签: node.js pug

我正在尝试运行sparkleshare-dashboard,这是一个开源的。到目前为止,我遇到了很多错误,因为我对它所使用的技术并不熟悉。所以,这次当我使用node命令从命令提示符运行app.js时,我收到了这个错误。

Warning: missing space before text for line 20 of jade file "D:\Imports\sparkles
    hare-dashboard/views/createFirstUser.jade"
    Error: D:\Imports\sparkleshare-dashboard/views/createFirstUser.jade:21
        19|   script(type="text/javascript")
        20|     $("#login").focus(function()

 {
  > 21|       $("#loginlabel").fadeOut();
    22|     });
    23|     $("#login").blur(function() {
    24|       if ($("#login").val().length == 0) {

unexpected token "indent"
    at Parser.parseExpr (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib
\parser.js:229:15)
    at Parser.block (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\par
ser.js:689:25)
    at Parser.tag (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\parse
r.js:806:26)
    at Parser.parseTag (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\
parser.js:719:17)
    at Parser.parseExpr (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib
\parser.js:188:21)
    at Parser.block (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\par
ser.js:689:25)
    at Parser.tag (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\parse
r.js:806:26)
    at Parser.parseTag (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib\
parser.js:719:17)
    at Parser.parseExpr (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib
\parser.js:188:21)
    at Parser.parseExpr (D:\Imports\sparkleshare-dashboard\node_modules\jade\lib
\parser.js:227:21)

2 个答案:

答案 0 :(得分:16)

您的代码中存在语法错误,您只是错过了一个点,这会导致另一个错误,请在最后看到我的固定示例:

script(type="text/javascript")
    $("#login").focus(function(){
      $("#loginlabel").fadeOut();
    });

会提示Unexpected token "indent"错误。因为 Jade 将您的$("#loginlabel").fadeOut();视为另一行代码,而且对于 Jade ,此行有一个错误的缩进。

通常,此"indent"错误总是指向错误的缩进。

所以要摆脱这个错误,只需在script标记的末尾添加一个,并明确说明这是一个没有 Jade 的洞的一部分代码如下:

script(type="text/javascript").
    $("#login").focus(function() {
    $("#loginlabel").fadeOut();
    });

这(参见该点)将为您提供以下 HTML 输出:

<script type="text/javascript">
  $("#login").focus(function() {
    $("#loginlabel").fadeOut();
  });
</script>

答案 1 :(得分:0)

正确的语法是:

script.
  document.location = "https://google.com"