Gulp babel es2015转换得很慢

时间:2016-01-21 13:38:39

标签: javascript node.js gulp babeljs

我正在尝试使用gulp在我的JavaScript上运行babel-preset-es2015,但它甚至需要一行代码。我最初尝试使用大约700 loc的脚本包,然后使用1行的虚拟脚本。第一种情况需要大约9s - 1行我需要8.38s。

这是我的确切设置:

的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 个答案:

答案 0 :(得分:21)

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