我正在尝试运行一个开源的sparkleshare-dashboard。到现在为止,我仍然犯了很多错误,因为我对其中使用的技术没有任何了解。因此,这次,当我使用节点命令从命令提示符运行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)

最佳答案

您的代码中有语法错误,您只是漏了一个点,这会导致另一个错误,请参阅结尾处的固定示例:

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>

关于node.js - Jade 意外 token “indent”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22464705/

10-12 00:25
查看更多