2016-07-12 6 views
2

Ich habe einige Schluckaufgaben erstellt, um mein Webprojekt zu erstellen. In einem von ihnen reduziere ich js-Dateien. Hier ist die Aufgabe:Warum funktioniert uglify nicht am AngularJS-Inhalt?

gulp.task('minify' , function() { 
    console.log('Copy minified js '); 
    return gulp.src('dist/www/**/*.js']) 
    .pipe(uglify().on('error', function(e){ 
     console.log(e); 
     })) 
    .pipe(gulp.dest('dist/www')); 
}); 

Wenn ich meine Aufgabe ausführen: gulp minify bekomme ich folgende Fehlermeldung:

{ [Error: E:XXXXXX\dist\tmp\bootstrap.js: SyntaxError: Unexpected token: name (mainModule)] 
    message: 'E:XXXXXX\\dist\\tmp\\bootstrap.js: SyntaxError: Unexpected token: name (mainModule)', 
    fileName: 'E:XXXXXX\\dist\\bootstrap.js', 
    lineNumber: 1, 
    stack: 'Error\n at new JS_Parse_Error (eval at <anonymous> (E:XXXXXX\gfgfgfgf\\gulp-uglify\\node_modules\\uglify-js\\tools\\node.js:28:1), <anonymous>:1534:18)\n at js_error (eval at <anonymous> (

hier die bootstrap.js Datei:

import mainModule from './src/main'; 

angular.element(document).ready(function() { 
    angular.bootstrap(document, [mainModule.name], { strictDi: true }); 
}); 

Was geschieht? Könnte jemand mir helfen, indem er erklärt, warum es nicht funktioniert?

Vielen Dank!

+0

Ok ich werde zuerst transpilieren – Pracede

Antwort

3

Bevor Sie Angular-Komponenten glätten können, müssen Sie Angular-Abhängigkeitsinjektions-Annotation hinzufügen. Sie können durch ng-annotate vor dem Piping durch uglify leiten.

Bearbeiten: Auch gibt es bekannte Probleme mit . Wenn Sie ES6-Syntax verwenden, sollten Sie pipe your code through Babel vor der Vereinheitlichung.

Hoffe, das hilft!

Verwandte Themen