咕噜uglify任务失败

运行grunt时,出现以下错误:

警告:无法写入“client / dist / js / build.js”文件(错误代码:undefined)。 使用–force继续。

Gruntfile.js的configuration在我的Gruntfile.js

 uglify: { build: { src: ['client/src/js/*.js'], dest:['client/dist/js/build.js'] } } 

我正在使用grunt-contrib-uglify

任何想法为什么发生这种情况?

假设你的Grunt版本是0.4.0,AFAIK你没有使用最新的语法(见https://github.com/gruntjs/grunt-contrib-uglify#usage-examples )。

尝试

 uglify: { build: { files: { 'client/dist/js/build.js': ['client/src/js/*.js'] } } } 

我也不确定通配符是否正确处理。

我知道这被标记为解决,但我仍然喜欢这个类似的问题的答案,因为你可以很容易地使用这些文件再次为其他命令而不写两次。

总之,答案说

 //Does not work src: ['client/src/js/*.js'], dest: ['client/dist/js/build.js'] //Works src: ['client/src/js/*.js'], dest: 'client/dist/js/build.js' 

testing工作的例子没有两次写入文件:

 'use strict'; module.exports = function(grunt) { grunt.initConfig({ uglify: { build: { src: ['client/src/js/*.js'], dest: 'client/dist/js/build.js' } }, watch: { js: { files: '<%= uglify.build.src %>', tasks: ['uglify'] } } }); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.registerTask('default', [ 'uglify', ]); grunt.registerTask('dev', [ 'watch' ]); }; 

注意'<%= uglify.build.src %>'非常方便;)

执行

 $ grunt watch Running "watch" task Waiting...OK >> File "client/src/js/hello.js" changed. Running "uglify:build" (uglify) task File "client/dist/js/build.js" created. Uncompressed size: 15 bytes. Compressed size: 32 bytes gzipped (15 bytes minified). Done, without errors.