3

I am new to Grunt and I am trying to use it with this config

module.exports = function(grunt) {

  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    // Define our source and build folders
    js_src_path: 'javascripts',
    js_build_path: "build/js",

// Grunt Tasks
    concat: {
      options:{
        separator: ';'
      },
      js: {
        src: ['<%= js_src_path %>/*.js'],
        dest: '<%= js_build_path %>/app.js'
      }    },
    uglify: {
      options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
      },
      js: {
        src: '<%= concat.js.dest %>',
        dest:'<%= js_build_path %>/app.min.js'
      }
    }
    }
  );

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

  // Default task.
  grunt.registerTask('default', ['concat', 'uglify']);
};

But I have this message :

Running "concat:js" (concat) task
File "build/js/app.js" created.

Running "uglify:build" (uglify) task
>> Uglifying source "build/js/app.js" failed.
Warning: Uglification failed. Use --force to continue.

Aborted due to warnings.

Is there anything wrong with my config ?

Thanks

4

2 に答える 2

0

おそらくもう先に進んでいると思いますが、JavaScript に何か問題があると、uglify が失敗する可能性があります。JSHint ほど厳密ではありませんが、単純に悪い JS を使用している場合、uglify には uglify の問題が発生します。

これは、スクリプトの順序が悪いために発生することもあります (つまり、jQuery の前に jQuery プラグインをロードしようとしているなど)。

于 2013-10-21T02:42:41.520 に答える
0

ここでの問題は、grunt-contrib-uglify が「セミコロンレス」または「コンパクト」な JavaScript を圧縮するときにこのエラーを返すことです。

これは正当な JavaScript ですが、(私には) 同じ言語のようには見えません! このバグ レポートhttps://github.com/gruntjs/grunt-contrib-uglify/issues/29の上部にある短い例を参照してください。

この「コンパクト スタイル」の詳細については、http: //blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regardingを参照してください。

grunt-contrib-uglify は有効な JavaScript を処理できるはずですが、そうではありません。

于 2014-10-30T01:58:58.133 に答える