【问题标题】:Jade unexpected token "indent"翡翠意料之外的令牌“缩进”
【发布时间】:2017-05-02 07:42:22
【问题描述】:

我正在尝试运行开源的 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)

【问题讨论】:

    标签: node.js pug


    【解决方案1】:

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

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

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

    通常,这个"indent" 错误最终总是指向错误的缩进。

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

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

    这个(见那个点)会给你以下HTML输出:

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

    【讨论】:

      【解决方案2】:

      正确的语法是:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-20
        • 1970-01-01
        • 2013-08-23
        • 2010-10-05
        相关资源
        最近更新 更多