PUG:SyntaxError:意外的令牌(12:15)

时间:2017-06-27 20:05:27

标签: npm syntax-error pug pugjs

无论我使用gulp pug还是只是哈巴狗,我都会收到此错误:

SyntaxError: Unexpected token (12:15)
    at Parser.pp$4.raise (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\node_modules\acorn\dist\acorn.js:2488:13)
    at Parser.pp.unexpected (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\node_modules\acorn\dist\acorn.js:623:8)
    at Parser.pp.semicolon (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\node_modules\acorn\dist\acorn.js:600:59)
    at Parser.pp$1.parseVarStatement (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\node_modules\acorn\dist\acorn.js:973:8)
    at Parser.pp$1.parseStatement (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\node_modules\acorn\dist\acorn.js:751:17)
    at Parser.pp$1.parseTopLevel (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\node_modules\acorn\dist\acorn.js:672:23)
    at Parser.parse (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\node_modules\acorn\dist\acorn.js:529:15)
    at Object.parse (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\node_modules\acorn\dist\acorn.js:3378:37)
    at reallyParse (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\index.js:22:16)
    at findGlobals (C:\Users\freet\AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\index.js:35:11)

因为这个文件出了问题,即使它看起来像我项目中的其他文件(并且有很多文件):

extends ../layouts/layout

block variable
    - var headerType == "main";

block content
    include ../helpers/mixins

    .academy-page
        .top-section.js-screen.on-screen
            .top-container
                .top-mask
                    .text-wrap
                        h3 Academy

仅当我输入.top-mask行时才会出现错误。在此之前一切正常。

2 个答案:

答案 0 :(得分:0)

在PUGJS中,最后不要使用半冒号declare variables并且只有一个等号。

- var headerType == "main";

应该是

- var headerType = "main"

答案 1 :(得分:0)

有点晚了,但我只是通过深入研究node_modules找到了解决方案。为您服务,我将从打开文件AT ../AppData\Roaming\npm\node_modules\pug\node_modules\acorn-globals\node_modules\acorn\dist\acorn.js

开始
Parser.pp$1.parseVarStatement

转到973行并注销该行中的变量,如果它们没有任何意义,请继续向下移到堆栈跟踪的下一行,向

Parser.pp$1.parseTopLevel line 672

重复每个日志,直到它使您可以更清楚地使用它。哈巴狗模板将解析所有可能的内容,直到“崩溃”为止,这将为您提供一个非常准确的位置来查找您的确切问题。 IE 刚刚超过了上一个日志