Gulp babel es2015 转换非常缓慢



我正在尝试使用 gulp 在我的 JavaScript 上运行 babel-preset-es2015,但即使是在一行代码上也需要很长时间。我最初尝试使用大约 700 loc 的脚本包,然后使用一个 1 行的虚拟脚本。第一种情况大约需要 9 秒 - 1 行 i 需要 8.38 秒。

这是我的确切设置:

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

虚拟.js:

console.log('dummy script');

我正在运行节点 v4.2.4 和 npm v2.14.12。

其他操作,如gulp-act和gulp-uglify,总共需要大约180毫秒。

这是怎么回事?

Babel 6 有许多高度嵌套的子依赖项。如果您有非平展依赖树,这可能会很慢。在您的情况下,您使用的是 npm 2,您需要npm dedupe或安装 npm@3 并重新安装,以便扁平化依赖项。

最新更新