代码之家  ›  专栏  ›  技术社区  ›  szegheo

babel minify vs terser(取而代之的是丑陋的js)

  •  5
  • szegheo  · 技术社区  · 8 年前

    我对ES6+(称为现代JavaScript)比较陌生,但是如果我想在我需要的浏览器中使用它的话 babel-minify terser . (起初我以为巴比利是另一个球员,但只是 the old name 巴贝尔迷你版)

    关于浏览器的polyfills,有生产就绪的解决方案,如 @babel/polyfill 或 Polyfill.io 有了它们,就可以向现代浏览器发送更小更快的代码,因为它们不需要/很少的多填充(快速测试浏览器,动态加载所需的多填充,然后启动我们的应用程序的主脚本)。因此,使用这些现代技术似乎是绝对合理的。

    我的两难选择来了 babel-minify terser .

    网页包团队 decided to switch 到 简洁 在即将到来的第5页。
    comparison table 显示 简洁 速度要快得多。
    says 那个 是一把叉子 uglify-es 以前被广泛使用。

    这让我觉得我必须做出选择 简洁 .

    Babili/babel-minify 是 first released 2016年8月26日,所以 uglify 年龄较大)。他们在GitHub上有一个很好的开发人员社区,bug可能很快就被发现并修复了。基于这些,在安全生产方面,我对他们更加信任。但是我还没有找到任何关于 巴别塔迷你 结束 简洁 .

    问题:

    我会和你一起去 简洁 因为它看起来很有希望,上面写的原因是,但是:

    • 我应该在什么情况下使用 结束 简洁
    • 用Babel包做所有事情有什么好处吗?
    1 回复  |  直到 8 年前
        1
  •  13
  •   16patsle    7 年前

    在大多数情况下,它不会太重要,你是否使用简洁或巴贝尔minify。也就是说,使用babel minify的好处是与babel生态系统的其他部分紧密集成。如果您在bundler-like webpack之外或在CLI上使用babel,那么babel minify可以与其他babel转换同时运行,因此只需要最少的额外配置。如果您通过Babel loader启用了缓存,那么Babel minify也可以使用与其他Babel插件相同的缓存。

    一个可能的例外是,如果您使用的实验语法尚未作为ECMAScript的一部分标准化,但在babel的解析器中得到支持(可能带有插件)。在这种情况下,babel minify可能会被证明是有益的。