【问题标题】:Does react-native optimize JavaScript code?react-native 会优化 JavaScript 代码吗?
【发布时间】:2018-08-15 23:33:21
【问题描述】:

我阅读了关于编译器的指南。他们有许多优化技术,例如删除冗余代码或删除未使用的变量和未使用的方法。
但是像 javascript 这样的脚本语言没有编译器,所以它不会有优化。
我读了一篇关于 js 优化器的文章,例如:

- Google Closure Compiler https://github.com/google/closure-compiler
- UglifyJS https://github.com/mishoo/UglifyJS

真正的问题是,像 react-native、angular 这样的平台是使用代码优化器还是我应该自己使用它?

【问题讨论】:

  • JS 通常在 JIT 编译器上运行,而那些肯定会进行优化。

标签: javascript android react-native optimization uglifyjs


【解决方案1】:

React Native 脚本捆绑器 Metro 首先使用 Babel 转译您的代码。在生产构建模式下,它会通过UglifyJS 运行您的代码。

默认配置不进行任何高级优化,例如摇树或重复数据删除。

如果您想应用更高级的优化,您可以尝试在转译步骤中使用 Babel 插件来实现它们。如果没有,使用Haul 可能是最简单的,这是一个基于 webpack 的 React Native 替代捆绑器。

但是,与往常一样,在过早优化之前,请考虑您正在尝试改进哪些指标,并衡量您的优化是否真正实现了您的目标。

【讨论】:

    【解决方案2】:

    Facebook 去年发布了Hermes。 Hermes 是一个开源 JavaScript 引擎,针对在 Android 上运行 React Native 应用程序进行了优化。对于许多应用程序而言,启用 Hermes 会缩短启动时间、减少内存使用量并缩小应用程序大小。目前 Hermes 是一个可选的 React Native 功能,本指南解释了如何启用它。

    实际上,使用这个引擎,我的应用程序已经从 33M 缩小到了 21M。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-08
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      相关资源
      最近更新 更多