Gruntjs Grunt源文件为空

Gruntjs Grunt源文件为空,gruntjs,grunt-contrib-uglify,Gruntjs,Grunt Contrib Uglify,文件数组中的多个对象有问题。我有两组文件需要运行uglify,一组是需要压缩的单个文件,另一组是一组文件。问题是,任务一直说没有定义源文件。src和dest是相同的,因为文件是就地压缩的——这在以前是有效的,问题出现在我引入模板时。我设置了一个简单的测试任务来验证。以下是任务配置: buildDir:bin, 建造:{ 测试:{ 档案:[ { src:[/js/vendor.js], dest:/js/vendor.js }, { 是的, src:[/js/**/main.js], dest:[

文件数组中的多个对象有问题。我有两组文件需要运行uglify,一组是需要压缩的单个文件,另一组是一组文件。问题是,任务一直说没有定义源文件。src和dest是相同的,因为文件是就地压缩的——这在以前是有效的,问题出现在我引入模板时。我设置了一个简单的测试任务来验证。以下是任务配置:

buildDir:bin, 建造:{ 测试:{ 档案:[ { src:[/js/vendor.js], dest:/js/vendor.js }, { 是的, src:[/js/**/main.js], dest:[/js/**/main.js] } ] } } 下面是我的简单测试任务:

registerMultiTask'build',函数{ console.logthis.files;//仅显示第一个对象 console.logthis.filesrc;//空白 this.files.forEachfunctionfile{ grunt.log.writelnSrc:+file.src;//空白 grunt.log.writelnOrig:+file.orig.src;//bin/js/vendor.js file.src.forEachfunctionfilePath{ grunt.log.writeChecking:+filePath; if!grunt.file.existsfilePath{ 找不到grunt.log.warn!; }否则{ 找到grunt.log.warn文件!; } }; grunt.log.writelnDest:+file.dest; }; 返回false; };
文件数组中的第二个对象在任务中根本不存在,第一个对象有一个空的src属性。

我解决了这个问题。我在生成Files对象之后更改了CWD,因为这是在任务运行之前发生的。如果您想拥有一个动态工作目录,您需要在一个任务中更改它,然后在之后调用其余任务。一夜的休息能让大脑清醒,这真是太神奇了