Javascript 默认情况下,Grunt文件将nonull设置为true

Javascript 默认情况下,Grunt文件将nonull设置为true,javascript,gruntjs,concat,grunt-contrib-concat,Javascript,Gruntjs,Concat,Grunt Contrib Concat,我经常使用grunt contrib concat并想知道为什么有些文件没有连接起来。我发现这是一个小错误。不管怎样,我有很多不同的文件和不同的目的地 grunt.initConfig({ concat: { js: { files: [ { src: ["file1.js"], dest: "some/dir/fileXY.js" }, { src: ["x/fi

我经常使用
grunt contrib concat
并想知道为什么有些文件没有连接起来。我发现这是一个小错误。不管怎样,我有很多不同的文件和不同的目的地

grunt.initConfig({
  concat: {
    js: {
      files: [
        {
          src: ["file1.js"],
          dest: "some/dir/fileXY.js"
        },
        {
          src: ["x/file2.js"],
          dest: "some/other/dir/fileAB.js"
        },

        // and so on, and on
      ]
    }
  }
}
现在根据文档,我必须在对象文本本身中设置
nonull:true
,以便在文件不存在时获得一些警告。有没有办法在默认情况下设置它,这样我就不必触摸它们中的每一个

我用options对象尝试了它,但到目前为止运气不佳。

Grunt允许您获取和设置任何配置属性。 把它放在
grunt.initConfig
下面:

  var files = grunt.config.get('concat.js.files').map(function(prop){ 
    prop.nonull = true;
    return prop;
  });

  grunt.config.set('concat.js.files',files);

另一种方法是创建对象,然后将其传递给initConfig:

files = [
  {
    src: ['a.js'],
    dest: 'b.js'
  }, {
    src: ['c.js'],
    dest: 'd.js'
  }
];

files = files.map(function(prop) { 
  prop.nonull = true;
  return prop;
});

grunt.initConfig({
  concat: {
    js: { files: files}
  }
});  

您使用的语法不正确valid@IlanFrumer是的,是的,我从内存中输入的,在实际项目中是正确的。请修复它,以便我可以测试it@IlanFrumer好了,我修好了是的很酷!我希望插件本身能更通用一些,但现在可以了,谢谢:)我认为
grunt.config.get
的返回值与输入值相同(grunt不进行规范化),因此设置
prop.nonull=true
只起作用。(或用于其他属性键。)