react-native 是否优化 JavaScript 代码?

Does react-native optimize JavaScript code?

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

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

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

React Native 脚本打包器,Metro, first transpiles your code using Babel. In production build mode, it then runs your code through UglifyJS

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

如果你想应用更高级的优化,你可以尝试看看它们是否可以在使用 Babel 插件的转译步骤中实现。如果没有,使用 Haul 可能是最简单的方法,它是 React Native 的 webpack-based 替代捆绑器。

但是,一如既往,在过早优化之前,请考虑您要改进的指标并衡量您的优化是否真正实现了您的目标。

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

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