Ich stieß auf der offiziellen gulp-uglify npm Seite auf die folgenden.
Notiere die Empfehlung:
Um ordnungsgemäß zu behandeln Bedingungen Fehler mit Node-Streams, das Projekt empfiehlt die Verwendung von pump. Weitere Informationen finden Sie unter Why Use Pump?.
Meine Implementierung des Beispiels auf der oben genannten Seite lautet:
gulpfile.js
var gulp = require('gulp');
var pump = require('pump');
// the npm page states:
// can be a git checkout or another module
// (such as `uglify-js-harmony` for ES6 support)
var uglifyjs = require('uglify-js-harmony');
var minifier = require('gulp-uglify/minifier');
var concat = require('gulp-concat');
gulp.task('compress', function (cb) {
// the 'options' argument is included in the example,
// but i don't know what it does or how it can be removed
var options = {
preserveComments: 'license'
};
pump([
gulp.src('my_scripts/*.js'), // gets all js scripts in this folder
minifier(options, uglifyjs),
concat('my_bundled_script.js'), // concatenates all scripts into this file
gulp.dest('dist') // puts the file into this folder
],cb
);
});
package.json
{
"devDependencies": {
"gulp": "latest",
"pump": "latest",
"gulp-concat": "latest",
"gulp-uglify": "latest",
"uglify-js-harmony": "latest"
},
"dependencies": {}
}
Ergebnisse
Ohne uglify-js-harmony
mit:
pump
war hilfreich bei der Suche, wo der Fehler kam (bei Verwendung von gulp-uglify
)
- eine Datei, die eine
let
Aussage hatte Fehler verursacht
Bei der Verwendung von uglify-js-harmony
, die Fehler traten nicht auf.
Weitere Überlegungen:
Die obige Seite zur Zeit zeigt:
// can be a git checkout or another module
// (such as `uglify-js-harmony` for ES6 support)
var uglifyjs = require('uglify-js');
Aber wenn uglify-js-harmony
Installation habe ich die Warnmeldung:
npm WARN veraltet uglify-js-Harmonie @ 2.7.7: Abgelehnt zugunsten von uglify-es
Als ich versuchte, uglify-es
statt uglify-js-harmony
zu verwenden, jedoch bekam ich eine Fehlermeldung, ähnlich wie hier dokumentiert:
https://github.com/terinjokes/gulp-uglify/issues/287
Ich habe versucht, von dort das Problem Faden zu folgen, aber verirrten und konnte keine definitive Lösung finden, wie man uglify-es
implementiert.
Ich stieß auf ein ähnliches Problem mit gulp-uglify. Es wurde der Fehler 'Unerwarteter Token-Name' i », erwarteter Punkt ';» 'ausgelöst, als in einer for-Schleife-Deklaration ein Schlüsselwort' let 'gefunden wurde. 'für (i = ca.Länge - 1; i> = 0; i -)'. Ändern von "Let" zu "Var" scheint das Problem zu lösen. – Aaaron