-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
添加功能 :是否可以不用expo打包方式 自己添加一种rn的打包方式 #1828
Comments
欢迎提交 Issue~ 如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏 如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。 Good luck and happy coding~ |
CC @Pines-Cheng |
可以参考一下这个issue:expo/expo#205 Hi! Please see this section of the docs and the related App Thinning docs from Apple. The remaining size of the bundle (around 20MB) contains the Expo runtime and makes sure that your users have all of the native code required to receive any updates you may publish. |
@Pines-Cheng 多谢了,大小 的问题,可以解决了。 如果有理解错的地方,多谢指出,谢谢~ |
OTA 更新是可以配置为 自动更新/手动更新,还可以 禁用更新的,相关的文档在这里:Configuring OTA Updates 设置 updates.enabled 可以 false 在独立应用程序中完全禁用 OTA JavaScript 更新。这将忽略从 Expo 服务器获取应用程序包的所有代码路径。在这种情况下,您的应用的所有更新都需要通过iOS App Store和/或Google Play商店。 |
@Pines-Cheng 明白了多谢,也就是expo打包时,js代码在包里也是有一份的,只不过这一份是否通过ota来更新 ,是看自己的配置对吧? |
是的,就是这个意思。 |
问题描述
expo打的包太大,最小大小也为110M, 实际产品没法使用,因为expo里自己打包进支了facebook google的及其它一些大概20多个pods包,完全没有用。想添加一个rn本地打包的方法。
复现步骤
expo build:ios 打包后在expo上下载 100多M
// 这里可以贴代码
期望行为
使用rn本向的打包方法,自己编译,以灵活控制包的大小
报错信息
无
系统信息
补充信息
如果自己开发这个打包方式,有什么指导意见?
我现在的思路就是,生成 .rn_temp模板的时候,直接生成rn本向的就行,不用expo 的,这个思路 是否对?
附加信息2
深入了解了expo 打包的过程,他把这些第三方库都打包的ipa 中了,这些对我们 国内的开发者来说都是没用的:
建议
expo 打包和rn打包方式 共存,可以在taro init myapp的时候做一个打包方式的选择
这样对不关心包大小 ,想方便的就用expo
对使用过rn,想灵活控制打包内容的就用rn本向打包方式,
自己也看了expo本身的本地打包方式,即在.rn_temp目录里执行 exp detach然后自动会下载 ios及android的原生文件夹,但这里下载 后的内容和rn还是有很大区别的,他这里还是引用了很多expo的库,打出来的包还是很大。
同时自己按expo的官方文档 ,自己走了一边,发现本地打包还是有问题:
本地打包的时候,expo并没有像rn那样把js之类打包到ipa或者 apk中,还是通过一个exp://host/这样的协议去拉取。如果是本地打包,这个host就是你本机,如果是用epxo 服务器打包,这个host就是国外的expo网站,国内用户请求起来也很慢。不知道expo是否有什么选项把js之类的都打包到ipa或者 apk中,就像react-native那样,只要打包好,在哪个环境都能正常打开,及时没网也不会显示下面的:
所以期望taro能尽快支持使用npm run build:rn时在.rn_temp目录生成的是一个纯react native 的源码,谢谢~
同时自己也看了taro/taro-cli/src/rn.js中的代码,看生成.rn_temp中文件 的过程都是在这里做的,是否就是如果想生成纯rn的代码只用修改这里的文件。
The text was updated successfully, but these errors were encountered: