【问题标题】:Gulp babel es2015 transform very slowGulp babel es2015 转换很慢
【发布时间】:2016-04-27 19:04:16
【问题描述】:

我正在尝试使用 gulp 在我的 JavaScript 上运行 babel-preset-es2015,但即使是一行代码也需要很长时间。我最初尝试使用大约 700 loc 的脚本包,然后使用 1 行的虚拟脚本。第一种情况大约需要 9s - 1 行 i 需要 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');

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

gulp-react 和 gulp-uglify 等其他操作加起来大约需要 180 毫秒。

发生了什么事?

【问题讨论】:

  • 您应该确保您的依赖项使用npm depupe 进行了重复数据删除,并考虑升级到npm@3。如果没有很好地去重复,Babel 可能会很慢。
  • npm3 成功了,谢谢!使用我的原始脚本低至 600 毫秒,我想我可以忍受。如果你想回答我会接受它:)

标签: javascript node.js gulp babeljs


【解决方案1】:

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

【讨论】:

  • 这个^^^^^^^^^^^^ :)
  • 我错过了使用 npm3 重新安装。这距离我的服务器启动还有 10 秒!
  • 每次都需要 30 秒。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-20
  • 1970-01-01
  • 2016-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多