Gruntfile.js - 找不到任务“默认”

时间:2014-01-11 12:43:07

标签: javascript gruntjs grunt-contrib-uglify

这是我的Gruntfile.js

module.exports = function(grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON("package.json"),

        uglify: {
          options: {
            mangle: true
          }
          build: {
            src: "js/*.js",
            dest: "js/min/script.js"
          }
        }

    });

    grunt.loadNpmTasks("grunt-contrib-uglify");

    grunt.registerTask('default', [uglify]);

};

这是我的package.json - 我已经运行了npm install,我将在我的Gruntfile中使用所有插件,grunt-contrib-uglify就在其中。

{
  "name": "bootbuckle",
  "version": "0.1.0",
  "engines": {
    "node": ">= 0.10.0"
  },
  "devDependencies": {
    "grunt": "~0.4.2",
    "grunt-contrib-watch": "~0.5.3",
    "grunt-contrib-sass": "~0.6.0",
    "grunt-csscomb": "~2.0.1",
    "grunt-contrib-htmlmin": "~0.1.3",
    "grunt-contrib-imagemin": "~0.4.1",
    "grunt-contrib-uglify": "~0.2.7"
  }
}

当我在终端中运行grunt时 - 这是错误

  build: {
  ^^^^^
Loading "Gruntfile.js" tasks...ERROR
>> SyntaxError: Unexpected identifier
Warning: Task "default" not found. Use --force to continue.
Aborted due to warnings.

提前感谢您提供的任何帮助。


EDIT 按照Matti的指导,我插入了一个丢失的逗号,现在正在抛出一个新的错误

Loading "Gruntfile.js" tasks...ERROR
>> ReferenceError: uglify is not defined
Warning: Task "default" not found. Use --force to continue.
Aborted due to warnings.

2 个答案:

答案 0 :(得分:30)

你错过了一个逗号:

    uglify: {
      options: {
        mangle: true
      }, // <-------
      build: {
        src: "js/*.js",
        dest: "js/min/script.js"
      }
    }

编辑:由japrescott发布,您必须将uglify任务定义为字符串。

grunt.registerTask('default', ["uglify"]);

答案 1 :(得分:11)

尝试这样

  grunt.registerTask('default', ["uglify"]);