2016-01-21 14 views
15

gulpを使用してJavaScriptでbabel-preset-es2015を実行しようとしていますが、1行のコードでも永遠に実行されます。私はもともと私のスクリプトバンドルで約700のlocを試してから、1行のダミースクリプトを使って試しました。最初のケースでは約9秒かかります.1行では8.38秒です。Gulp babel es2015変形が非常に遅い

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'); 

これは私の正確な設定ですノードv4.2.4およびnpm v2.14.12を実行しています。

gulp-reactとgulp-uglifyのような他の操作はすべて約180msの時間がかかります。

何が起こっていますか?

+1

依存関係を 'npm depupe'で削除し、' npm @ 3'にアップグレードすることを検討してください。バベルは、重複しないとかなり遅くなることがあります。 – loganfsmyth

+0

npm3がトリックをしました、ありがとう!私の元のスクリプトで600msまで、私はそれで生きることができると思います。あなたがその答えをしたいのなら、私はそれを受け入れます:) – severin

答えて

21

Babel 6には、多くの高度にネストされた従属性があります。依存関係ツリーが平坦でない場合、これはかなり遅くなる可能性があります。あなたのケースではnpm 2を使用していますが、npm dedupeか、[email protected]のいずれかをインストールして、依存関係が平坦になるように再インストールする必要があります。

+0

これは^^^^^^^^^^^^^ – NewZeroRiot

+0

私はnpm3で再インストールされませんでした。これは私のサーバーのスタートアップから10秒ぶりです! –

+0

毎回30秒かかります。 – LCB