0

无论我使用 gulp pug 还是只使用 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. 在此之前一切正常。

4

2 回答 2

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刚刚超出最后一个日志

于 2018-07-13T04:12:18.533 回答
0

在 PUGJS 中,不要在末尾声明带有分号的变量并且只有一个等号。

- var headerType == "main";

应该

- var headerType = "main"
于 2017-06-28T08:20:02.513 回答