咕噜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.