尝试使用 Uglify 最小化代码时出现意外令牌
Unexpected Token when trying to minimize code using Uglify
我是运行以下gulp任务:
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
gulp.task('uglify', function(){
gulp.src('htdocs/js/*.js')
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('dist'));
});
当我这样做时,出现以下错误:
GulpUglifyError: unable to minify JavaScript
Caused by: SyntaxError: Unexpected token: punc «{», expected: punc «;»
第一个 JavaScript 文件的第一行失败。它反对的行是:
import {removeScoreButtons} from './display.js';
如果你有 ES6 代码,你必须在 uglify 之前使用 gulp-babel
将它转译为 ES5。像这样:
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var babel = require('gulp-babel');
gulp.task('uglify', function(){
gulp.src('htdocs/js/*.js')
.pipe(babel({
presets: ['@babel/env']
}))
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('dist'));
});
我是运行以下gulp任务:
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
gulp.task('uglify', function(){
gulp.src('htdocs/js/*.js')
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('dist'));
});
当我这样做时,出现以下错误:
GulpUglifyError: unable to minify JavaScript
Caused by: SyntaxError: Unexpected token: punc «{», expected: punc «;»
第一个 JavaScript 文件的第一行失败。它反对的行是:
import {removeScoreButtons} from './display.js';
如果你有 ES6 代码,你必须在 uglify 之前使用 gulp-babel
将它转译为 ES5。像这样:
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var babel = require('gulp-babel');
gulp.task('uglify', function(){
gulp.src('htdocs/js/*.js')
.pipe(babel({
presets: ['@babel/env']
}))
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('dist'));
});