2016-01-21 7 views
15

Ich versuche, die Babel-Preset-es2015 auf meinem JavaScript mit Schluck zu laufen, aber es dauert ewig, sogar auf einer Zeile Code. Ich versuchte ursprünglich mit meinem Skript-Bündel, das ungefähr 700 Lok ist, und dann mit einem Dummy-Skript, das 1 Linie ist. Der erste Fall dauert etwa 9s - mit 1 Zeile dauert ich 8,38s.Gulp babel es2015 verwandeln sehr langsam

Dies ist meine genaue Einstellung:

package.json:

{ 
    "devDependencies": { 
     "gulp": "^3.9.0", 
     "gulp-babel": "^6.1.1", 
     "babel": "^6.3.26", 
     "babel-preset-es2015": "^6.3.13" 
    }, 
    "babel": { 
     "presets": [ "es2015" ] 
    } 
} 

gulpfile.js:

gulp.task('js', function() { 
    return gulp.src('dummyscript.js') 
     .pipe(concat('site.bundle.js')) 
     .pipe(babel()) 
     .pipe(gulp.dest(paths.dest.scripts)); 

}); 

dummy.js:

console.log('dummy script'); 

Ich bin laufender Knoten v4.2.4 und npm v2.14.12.

Andere Operationen wie gulp-react und gulp-uglify benötigen zusammen etwa 180ms.

Was ist los?

+1

Sie sollten sicherstellen, dass Ihre Abhängigkeiten mit 'npm depupe' dedupliziert werden und ein Upgrade auf' npm @ 3' in Betracht ziehen. Babel kann ziemlich langsam sein, wenn nicht gut dedupliziert. – loganfsmyth

+0

npm3 hat es geschafft, danke! Bis zu 600ms mit meinem originalen Skript, schätze ich kann damit leben. Wenn du das antwortest werde ich es akzeptieren :) – severin

Antwort

21

Babel 6 hat viele hoch verschachtelte Subabhängigkeiten. Das kann ziemlich langsam sein, wenn Sie eine nicht abgeflachte Abhängigkeitsstruktur haben. In Ihrem Fall verwenden Sie npm 2, Sie müssen entweder npm dedupe oder [email protected] installieren und neu installieren, so dass Ihre Abhängigkeiten abgeflacht sind.

+0

Das ^^^^^^^^^^^^ – NewZeroRiot

+0

Ich habe eine Neuinstallation mit npm3 vermisst. Das hat 10s von meinem Server-Start weggeworfen! –

+0

Ich brauche jedes Mal 30s. – LCB