微软react-native-code-push热更新笔记

作者: FanChason | 来源:发表于2018-11-19 17:49 被阅读8次

    常用命令

    终端切换到RN项目根目录下

    • 打包main.jsbundle
      react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ./bundle/main.jsbundle --assets-dest ./ios/bundle

    • 发布rn的bundle到微软服务器
      code-push release-react YourProjectName ios
      code-push release-react <AppName> <PlatName>

    code-push release-react YourProjectName ios --t 4.0.0 --dev false --d Staging --des "xxxxx"

    • 将测试版本Staging提升为Production
      code-push promote YourProjectName Staging Production

    • 查看发布的历史记录
      code-push deployment history YourProjectName Staging
      code-push deployment history YourProjectName Production

    • 查看当前code-push账号下面的app
      code-push app ls(或list)

    • 命令来查看deployment key
      code-push deployment ls <APP_NAME> -k

    • 部署到自己(公司)的服务器
      code-push login 自己的域名

    参考资料:
    1,简洁直接的code-push使用教程(快速上手建议看这个):https://www.jianshu.com/p/67de8aa052af
    2,深入分析的教程:https://www.jianshu.com/p/9e3b4a133bcc
    3,官方文档(对照上面的博客看):http://microsoft.github.io/code-push/docs/react-native.html

    常见问题

    坑1(iOS):

    使用他们的方法打包资源并上传的时候,通过更新,app无法加载出资源文件!

    • 解决:就是把你的结果(main.jsbundle和assets)拖入工程时,对于assets文件夹,你要选择create folder reference,而不是 create folder group. 正确的结果是assets文件夹是一个蓝色的文件夹,整个一起作为bundle resources

    坑2(双端):

    APP内plist文件写的版本号可能是1.0.0,所以你的reactjs打包上传的版本也要是1.0.0(而不是1.0.1这样递增),你需要和APP保持一致,然后服务器会根据你最新上传的且和APP一样的版本作为最新版。否则热更无效。
    参考:https://www.cnblogs.com/rayshen/p/5502538.html

    相关文章

      网友评论

        本文标题:微软react-native-code-push热更新笔记

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