You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

gulp-pug报错unexpected token 'indent'问题求助

解决gulp-pug报"unexpected token 'indent'"错误的方案

问题核心原因

这个错误完全是Pug模板的缩进语法问题,和Gulp、Node/NPM版本无关——这也是你切换到最新环境后错误依然存在的原因。从你提供的截图信息来看:

  • Gulp任务配置本身无语法错误
  • index.pug文件的缩进违反了Pug的严格缩进规则
  • package.json的依赖配置无明显异常

具体修复步骤

  1. 统一Pug文件的缩进风格
    Pug要求模板内嵌套元素必须使用一致的缩进规则(要么全用空格,要么全用制表符Tab,绝对不能混合),且嵌套层级的缩进量必须统一(比如每层固定用2个或4个空格)。检查你的index.pug:

    • 排查是否混合了空格与Tab缩进
    • 确保所有子元素的缩进比父元素多固定数量的空格/Tab
      示例正确缩进:
    html
      head
        title My Page
      body
        h1 Hello World
        p This is a paragraph
    
  2. 清理特殊隐形字符
    文件中的全角空格、不可见控制字符等,会被Pug识别为非法缩进。建议开启编辑器的"显示隐形字符"功能(比如VS Code可开启editor.renderWhitespace选项),排查并删除所有异常字符。

  3. 单独验证Pug模板语法
    脱离Gulp环境,单独编译index.pug确认模板本身的语法问题:

    # 全局安装Pug命令行工具
    npm install -g pug-cli
    # 编译测试模板
    pug index.pug --out dist
    

    如果此步骤报错,说明问题完全出在模板文件,和Gulp配置无关。

  4. 匹配gulp-pug与Gulp版本
    若模板语法无误,可检查gulp-pug版本兼容性:

    • 针对Gulp 3.x,推荐安装gulp-pug@4.x版本(高版本可能不兼容Gulp 3)
    • 针对Gulp 4.x,可安装gulp-pug@latest版本
      执行命令重新安装对应版本:
    # Gulp 3.x环境
    npm install gulp-pug@4 --save-dev
    # Gulp 4.x环境
    npm install gulp-pug@latest --save-dev
    

总结

优先排查index.pug的缩进问题,这是此类错误的最常见诱因。环境版本切换无法解决语法层面的问题,先确保Pug模板符合语法规范,再根据Gulp版本调整gulp-pug依赖即可。

内容的提问来源于stack exchange,提问作者M39ob Elzero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 12:12:11