Gruntjs 在咕噜声中运行组装和美化问题

Gruntjs 在咕噜声中运行组装和美化问题,gruntjs,prettify,assemble,Gruntjs,Prettify,Assemble,我试图让prettify在一个目录中运行,并在Assembly创建文件后将html文件美化到同一个目录中。同时运行默认任务时,prettify会抛出一个错误: Running "prettify:indent" (prettify) task Warning: Object 2 has no method 'indexOf' Use --force to continue 随后,当我单独运行每个任务时,一切正常: $ grunt assemble; grunt prettify 这是我的Gr

我试图让prettify在一个目录中运行,并在Assembly创建文件后将html文件美化到同一个目录中。同时运行默认任务时,prettify会抛出一个错误:

Running "prettify:indent" (prettify) task
Warning: Object 2 has no method 'indexOf' Use --force to continue
随后,当我单独运行每个任务时,一切正常:

$ grunt assemble; grunt prettify
这是我的Grunfile文件:

site: grunt.file.readYAML('src/template/data/site.yml'),
assemble: {
  options: {
    prettify: {indent: 2},
    marked: {sanitize: false},
    data:   "src/template/data/site.yml",
    layoutdir: 'src/template/layouts',
  },
  all: {
    options: {production: false,layout: 'default.hbs'},
    files: [
      { expand: true, cwd: 'src/template/pages', src: ['**/*.hbs'], dest: 'dist/' }
    ]
  }
},

prettify: {
  options: {
    indent: 4,
    wrap_line_length: 78,
    brace_style: 'expand',
  },
  all: {
    expand: true,
    cwd: 'dist/',
    ext: '.html',
    src: ['*.html'],
    dest: 'dist/'
  }
}

有人能给我指出正确的方向吗?是否可以对同一源目录的输出进行修饰?

从汇编选项中删除
修饰:{indent:2}

assemble: {
  options: {
    marked: {sanitize: false},
    data:   "src/template/data/site.yml",
    layoutdir: 'src/template/layouts',
  },
  all: {
    options: {production: false,layout: 'default.hbs'},
    files: [
      { expand: true, cwd: 'src/template/pages', src: ['**/*.hbs'], dest: 'dist/' }
    ]
  }
},
您已经在
prettify
任务中指定了自定义选项

prettify: {
  options: {
    indent: 4,
    wrap_line_length: 78,
    brace_style: 'expand',
  },
  // Specify a number to padcomments
  all: {
    files: [
      {expand: true, cwd: 'dist/', src: ['*.html'], dest: 'dist/', ext: '.html'}
    ]
  }
},

在汇编选项中指定
prettify:{indent:2}
意味着Grunt将使用选项
src:2
dest:indent
查找任务
prettify:indent
,这在Gruntfile中是不存在的。

感谢您的帮助!