Gruntjs 不能让咕哝来做丑事

Gruntjs 不能让咕哝来做丑事,gruntjs,Gruntjs,我正在使用grunt并试图丑化concat任务生成的js文件。Concat工作正常,但uglify失败,出现以下错误 Running "uglify:dist" (uglify) task >> Uglifying source "dist/myapp.js" failed. Warning: Uglification failed. Used --force, continuing. Warning: Cannot read property 'min' of undefined

我正在使用grunt并试图丑化concat任务生成的js文件。Concat工作正常,但uglify失败,出现以下错误

Running "uglify:dist" (uglify) task
>> Uglifying source "dist/myapp.js" failed.
Warning: Uglification failed. Used --force, continuing.
Warning: Cannot read property 'min' of undefined Used --force, continuing.
节点——版本
输出
v.0.11.8-pre

grunt--version
输出
grunt cli v0.1.9 grunt v.0.4.1

这是我的
grunfile.js
。我从中复制了此内容,并删除了不需要的任务

module.exports = function(grunt) {

  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    concat: {
      options: {
        separator: ';'
      },
      dist: {
        src: ['src/**/*.js'],
        dest: 'dist/<%= pkg.name %>.js'
      }
    },
    uglify: {
      options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
      },
      dist: {
        files: {
          'dist/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>']
        }
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.loadNpmTasks('grunt-contrib-uglify');

  grunt.registerTask('default', ['concat', 'uglify']);

};
下面是运行
grunt--verbose--stack--debug

Running "uglify:dist" (uglify) task
[D] Task source: /home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt-contrib-uglify/tasks/uglify.js
Verifying property uglify.dist exists in config...OK
Files: dist/myapp.js -> dist/myapp.min.js
Minifying with UglifyJS...>> Uglifying source "dist/myapp.js" failed.
Warning: Uglification failed. Use --force to continue.
TypeError: Object #<Object> has no method 'OutputStream'
    at Object.exports.minify (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt-contrib-uglify/tasks/lib/uglify.js:30:27)
    at /home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt-contrib-uglify/tasks/uglify.js:85:25
    at Array.forEach (native)
    at Object.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt-contrib-uglify/tasks/uglify.js:36:16)
    at Object.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/grunt/task.js:258:15)
    at Object.thisTask.fn (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/grunt/task.js:78:16)
    at Object.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:282:30)
    at Task.runTaskFn (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:235:24)
    at Task.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:281:12)
    at Task.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:215:7)

Aborted due to warnings.
运行“uglify:dist”(uglify)任务
[D] 任务来源:/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt contrib uglify/tasks/uglify.js
正在验证配置中是否存在属性uglify.dist…确定
文件:dist/myapp.js->dist/myapp.min.js
使用UglifyJS缩小…>>Uglifying源“dist/myapp.js”失败。
警告:丑化失败。使用--force继续。
TypeError:对象#没有方法“OutputStream”
在Object.exports.minify(/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt contrib uglify/tasks/lib/uglify.js:30:27)
at/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt contrib uglify/tasks/uglify.js:85:25
at Array.forEach(本机)
反对。(/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt contrib uglify/tasks/uglify.js:36:16)
反对。(/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/grunt/task.js:258:15)
在Object.thisTask.fn(/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/grunt/task.js:78:16)
反对。(/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:282:30)
位于Task.runTaskFn(/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/Task.js:235:24)
正在执行任务。(/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:281:12)
正在执行任务。(/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:215:7)
由于警告而中止。

在这一点上,我不知道我错过了什么。有人能帮我吗?

我解决了这个问题。将nodejs降级到
v0.10.20
修复了它。

我解决了这个问题。将nodejs降级到
v0.10.20
修复了它。

使用verbose标志(
--verbose
)运行任务时,输出是什么?@steveax我将输出添加到我的问题中。使用verbose标志(
--verbose
)运行任务时,输出是什么?@steveax我将输出添加到我的问题中。
Running "uglify:dist" (uglify) task
[D] Task source: /home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt-contrib-uglify/tasks/uglify.js
Verifying property uglify.dist exists in config...OK
Files: dist/myapp.js -> dist/myapp.min.js
Minifying with UglifyJS...>> Uglifying source "dist/myapp.js" failed.
Warning: Uglification failed. Use --force to continue.
TypeError: Object #<Object> has no method 'OutputStream'
    at Object.exports.minify (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt-contrib-uglify/tasks/lib/uglify.js:30:27)
    at /home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt-contrib-uglify/tasks/uglify.js:85:25
    at Array.forEach (native)
    at Object.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt-contrib-uglify/tasks/uglify.js:36:16)
    at Object.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/grunt/task.js:258:15)
    at Object.thisTask.fn (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/grunt/task.js:78:16)
    at Object.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:282:30)
    at Task.runTaskFn (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:235:24)
    at Task.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:281:12)
    at Task.<anonymous> (/home/cookiemon/Dropbox/Projects/myapp/node_modules/grunt/lib/util/task.js:215:7)

Aborted due to warnings.