Gulp-uglify : 던지기 어; // 처리되지 않은 '오류'이벤트
나는 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
고마워
uglify 작업이 처리하려는 파일 중 하나에서 질식 할 수 있습니다. 오류를 처리하고 출력을 콘솔에 기록하면 작업이 실패한 파일을 확인할 수 있습니다.
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에서 제외하고 다시 시도하십시오.
나는 같은 오류가 있었다. 그래서 콘솔에 출력 (덕분에 오류를 시도 빙고 ). 문제는 gulp-uglify가 ES6와 함께 작동하기를 원하지 않는다는 것입니다. JS 코드를 ES2015와 짜잔으로 변경했습니다. gulp-babel을 사용할 수도 있습니다 .
또한 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'));
});
내 경우에는, "화살표 구문"기능을 허용하지 않습니다 (예를 보인다 data=>{ // do something; }
)
I had the same issue and was getting the same error. The problem was, one of my JS files had @charset "UTF-8"; in the first line. So the syntax was breaking due to @
symbol. I removed it and it worked well.
{
SyntaxError: Unexpected character '@' at JS_Parse_Error.get
(eval at <anonymous> (C:\xampp\htdocs\catch\node_moles\uglify-js\tools\node.js:21:1),
<anonymous>:86:23) at formatError (util.js:649:15)
at formatValue (util.js:554:18)
at formatProperty (util.js:795:15)
at util.js:655:12
at Array.map (native)
at formatObject (util.js:654:15)
at formatValue (util.js:593:16)
at inspect (util.js:186:10)
at exports.format (util.js:72:24)
message: 'Unexpected character \'@\'',
filename: 'all.min.css', line: 1, col: 0, pos: 0 },
plugin: 'gulp-uglify',
....
....
}
I had the same issue and it came down to a js file that was giving out issues. The biggest issue was I had 10 js files but after a little digging my issue was not adding ;
since this will minify your code it does not matter you use ES6 you need to add ;
at the end of your code or minifying won't work.
use gulp-uglify-es instead gulp-uglify. It works with es6
참고URL : https://stackoverflow.com/questions/32911223/gulp-uglify-throw-er-unhandled-error-event
'development' 카테고리의 다른 글
같지 않음에 대한 Rails ActiveRecord 쿼리 (0) | 2020.12.10 |
---|---|
Windows에서 Cygwin을 통해 쉘 스크립트 실행 (0) | 2020.12.10 |
여러 줄의 JSON으로 컬 (0) | 2020.12.10 |
IntelliJ에서 불가능한 일이 Eclipse에서 가능합니까? (0) | 2020.12.10 |
SQL 계산에서 별칭 사용 (0) | 2020.12.10 |