このコマンドを実行するとエラーが発生します
gulp.task('minify', function () {
return gulp
.src('public/app/js/myapp.bundle.js')
.pipe(uglify())
.pipe(gulp.dest('public/app/js/myapp.bundle.min.js'));
});
GulpUglifyError:JavaScriptを縮小できない原因:SyntaxError:Unexpected token:name(MenuItem)(line:1628、col:18、pos:53569)
その場所のコードはこれです
setters: [],
execute: function () {
class MenuItem { // <-- line 1628
どうしましたか?
UglifyJS は現在、クラスのような EcmaScript 6構造をサポートしていません。
おそらく、最初にトランスパイラーのステップを介してJavaScriptを実行するか、ES6コードの処理方法を知っている縮小版を見つける必要があります。
ES6で動作するように設計されたUglifyJSのブランチがuglify-es
npm として公開されました。
terser
は新しいuglify-es
でuglify-es
あり、もはや維持されていません。
使用している場合一息両方npmjs一気-uglify-ESとnpmjs一気-terserのパッケージをterserをサポートしています。
npm install gulp-terser --save-dev
const gulp = require('gulp');
const terser = require('gulp-terser');
function es(){
return gulp.src('./src/index.js')
.pipe(terser())
.pipe(gulp.dest('./build'))
}
gulp.task('default', es);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加