Grunt:如何dynamicbuild立文件对象

我必须在这里错过一些非常简单的事情。 我正在尝试编写一个处理文件的函数任务。 Grunt API文档提到你可以[dynamic构build文件对象],但由于某种原因,我无法得到这个工作。 我的Gruntfile.js文件的简化版本如下所示:

module.exports = function(grunt) { grunt.initConfig({ proj: { build: { files: [{ expand: true, cwd: 'src', src: ['**/*.js'], dest: 'dist' }] } } }); grunt.registerTask('proj', function(){ var files = grunt.config('proj.build.files'); console.log(files); }); }; 

我期望日志显示从src目录到dist目录的文件映射列表。 实际上logging的是configuration中的对象proj.build.files,如下所示:

 Running "proj:build" task [ { expand: true, cwd: 'src', src: [ '**/*.js' ], dest: 'dist' } ] Done, without errors. 

API文档仅从其他任务的angular度讨论这种types的configuration。 我试图通过uglify任务来看看如何检索文件映射,但我无法弄清楚。

以下是我发现的dynamic构buildGrunt任务的文件集的解决方法:

 uglify: { app: { files: [{ src: '{<%= _prefixSrc(pkg.target, pkg.resources.js) %>}', // Note the brackets! dest: '<%= pkg.target %>min/<%= pkg.name %>.min.js' }] } }, _prefixSrc: function(prefix, files) { return files.map(function(file){ return prefix + file; }); }, 

请参阅GitHub上的这个问题/function请求,如果您觉得它有用,请随时发表评论: https : //github.com/gruntjs/grunt/issues/1307