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

使用Grunt时出现SyntaxError: Unexpected token错误,求解决方案

解决Grunt imagemin的SyntaxError错误

嘿,你的问题根源很明确——Gruntfile.js里的JavaScript语法写错了,导致Grunt加载配置文件失败,才会报SyntaxError和找不到imagemin任务的错误。我帮你把问题点和修正方案整理出来:

问题出在哪?

看你的Gruntfile代码,有几处标点符号用错了:

  • png配置块结尾用了分号;,但JavaScript对象的属性之间得用逗号,分隔,不能用分号
  • jpg配置块结尾同样错用了分号,应该改成逗号
  • 整个imagemin配置对象的最后多了个分号,这会直接导致语法解析失败

修正后的完整Gruntfile.js

module.exports = (function(grunt) { 
  grunt.initConfig({ 
    pkg: grunt.file.readJSON("package.json"), 
    imagemin: { 
      png: { 
        options: { optimizationLevel: 7 }, 
        files: [ 
          { 
            expand: true, 
            cwd: 'images_src/', 
            src: ['**/*.png'], 
            dest: 'images_imagemin', 
            ext: '.png' 
          } 
        ] 
      }, // 把分号改成逗号,分隔imagemin的两个子配置
      jpg: { 
        options: { progressive: true }, 
        files: [ 
          { 
            expand: true, 
            cwd: 'images_src/', 
            src: ['**/*.jpg','**/*.jpeg'], 
            dest: 'images_imagemin/', 
            ext: '.jpg' 
          } 
        ] 
      } // 这里不用加标点,因为是imagemin的最后一个属性
    } // 去掉原来多余的分号
  }); 
  grunt.loadNpmTasks('grunt-contrib-imagemin'); 
  grunt.registerTask('default', ['imagemin']); 
});

怎么验证?

保存修改后的文件,重新在终端执行:

grunt imagemin

如果没有其他问题,Grunt就会正常启动图片压缩任务啦。

另外提个小建议:写配置文件时尽量保持清晰的换行和缩进,下次再遇到语法错误就能更快发现啦~

内容的提问来源于stack exchange,提问作者Maarten Leten

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:36:58