62

私は gulp にかなり慣れていません。 http://leveluptuts.com/tutorials/learning-gulpのチュートリアルに従っていますが、次のエラーが発生します。

events.js:141
  throw er; // Unhandled 'error' event
  ^
Error
at new JS_Parse_Error (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:196:18)
at js_error (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:204:11)
at croak (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:680:9)
at token_error (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:688:9)
at unexpected (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:694:9)
at expr_atom (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1201:9)
at maybe_unary (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1363:19)
at expr_ops (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1398:24)
at maybe_conditional (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1403:20)
at maybe_assign (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1427:20)

ここに私のコードがあります:

 var gulp = require('gulp')
    uglify = require('gulp-uglify');

gulp.task('default', function() {
    // body...
    gulp.src('js/*.js')
    .pipe(uglify())
    .pipe(gulp.dest('minjs'));

});

およびディレクトリのツリー、単純です

-gulp
     -js/
     -gulpfile.js

どうもありがとう

4

7 に答える 7

139

あなたの uglify タスクは、処理しようとしているファイルの 1 つを窒息させている可能性があります。エラーを処理し、出力をコンソールに書き込んで、どのファイルがタスクの失敗の原因であるかを確認できるようにします。

 gulp.task('scripts', ['clean'], function () {
      return gulp.src('js/*.js')
        .pipe(uglify().on('error', function(e){
            console.log(e);
         }))
        .pipe(gulp.dest('minjs'));
  });

gulp タスクを再度実行すると、まだエラーが発生しますが、今回は、出力のすぐ上に、uglify の処理で問題が発生しているファイルと行番号が表示されます。そこからデバッグします。

たぶん構文エラーですか?修正して、もう一度やり直してください。

たぶん、Visual Studio プロジェクトで時々見られるような、予期しない文字を含む奇妙な _reference.js ファイルを持っていますか? gulp.src から除外して、再試行してください。

于 2015-10-08T03:39:43.133 に答える
4

も使えますgulp-util

https://www.npmjs.com/package/gulp-util

var gutil = require('gulp-util');
gulp.task('scripts', ['clean'], function () {
      return gulp.src('js/*.js')
        .pipe(uglify().on('error',gutil.log))
        .pipe(gulp.dest('minjs'));
  });
于 2017-06-21T10:13:13.930 に答える