美文网首页
RN拆分包

RN拆分包

作者: jiayoubaobao | 来源:发表于2017-09-19 09:54 被阅读384次

RN拆分包的本质是什么?
RN项目开发完成后,通过RN打包命令可以将JSX的语法通过Node 的babel 模块转换成低版本的的JS代码(各个浏览器通用的JS代码),打成bundle包后供Native使用。
那么拆分包的本质是什么?

我们知道Native执行RN的模块是通过JSContext执行的,执行js bundle通过如下方式:


1E85B395-E7B6-4AFD-BA92-B3169921DF00.png

其中traggedScript.script.bytes就是从打好的JS bundle 文件中读取的。

因此,拆分包的核心就是将RN 项目中JS代码做一个逻辑划分,通过特定的算法将RN项目拆分成两个部分,一部分是RN运行的核心JS代码部分,称之为Core.bundle,另一部分,是业务部分,称之为business.bundle。

拆分后,客户端在加载某个RN模块后就变成了:
JSContext 执行Core.bundle代码
JSContext 执行business.bundle代码
这样,JSContext环境里,就有了所有的业务代码了。
let's run.

那么为什么我们要拆分包呢?
1.如果执行远程的RN代码,可以只加载business.bundle,然后和本地的core.bundle合并,这样做到节约用户流量的目的。
2.Native端,可以内存缓存Core.bundle的内容,然后执行RN代码的时候,将内存中把Core.bundle 内容加载进当前模块对应的JSContext,然后在加载business.bundle,这样将加速整个RN的加载过程。
好处多多,why not ...

相关文章

  • RN拆分包

    RN拆分包的本质是什么?RN项目开发完成后,通过RN打包命令可以将JSX的语法通过Node 的babel 模块转换...

  • ReactNaive分包方法

    ReactNaive分包方法 RN中,发布js代码时,会打包成jsbundle形式。随着业务的增大,jsbundl...

  • 平安好房iOS开发团队技术周报(第二十九期)

    本期导读:本期周报主要包括全民 K 歌 RN 的接入实践中分包与加载的方案、安全的处理 JSON 中的空值、A/B...

  • RN拆包解析

    一. 拆包动机 RN作为非常优秀的移动端跨平台开发框架,在近几年得到众多开发者的认可。国内各大厂采用在当前原生应用...

  • 学习笔记:RN的拆包问题

    一、什么是拆包? RN打包的目标产物是一个jsbundle,包含RN基础库、第三方库、业务组件等,随着业务的迭代,...

  • 谁掌握着最核心的技术?

    谁掌握着最核心的技术?大学实验室?研究所?还是? 我见过一个搞笑的科研,就是最后项目拆把拆吧,分包出去,这家公司搞...

  • 小程序分包

    1.什么是分包 2.分包的好处 3.分包前项目的构成 4.分包后的项目构成![分包后的项目构成 5.分包的加载规则...

  • 天高iOS代码分包规范

    @(代码分包规范) 项目分包

  • react native 性能优化 总结

    rn性能优化 结合网上资料总结如下 1、首屏渲染问题。采用JS Bundle拆包解决。就是主体框架react单独打...

  • RN拆包解决方案(二) bundle加载

    前言 本文跟随上一篇RN拆包解决方案(一) bundle拆分,已打出common.bundle和patch.bun...

网友评论

      本文标题:RN拆分包

      本文链接:https://www.haomeiwen.com/subject/wxcbsxtx.html