我正在尝试使用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的组合。
发生了什么事?
答案 0 :(得分:21)
Babel 6有许多高度嵌套的子依赖项。如果您有一个非展平的依赖关系树,这可能会非常慢。在您的情况下,您使用的是npm 2,您需要npm dedupe
或安装npm@3
并重新安装,以便您的依赖项被夷为平地。