美文网首页一起学起来React Native 周报react-native
为什么Build React-Native程序要等很久

为什么Build React-Native程序要等很久

作者: jacobbubu | 来源:发表于2015-12-27 10:44 被阅读1647次

    问题

    自从 React-Native (以下简称 RN) 升级到 0.14 版本之后,我就发现每次从 xcode 启动程序变慢了,慢了大约有10秒左右。这件事情一次两次还能忍,但是每次如此实在是浪费生命。这是什么原因呢?经过一番尝试,我发现问题出在这里:


    react-native-xcode.sh

    这个 react-native-xcode.sh 花费了大约10秒的时间。那么这个脚本干了什么呢?打开这个文件可以看到,它的主要工作就是生成 js bundle:

    ...
    react-native bundle \
      --entry-file index.ios.js \
      --platform ios \
      --dev $DEV \
      --bundle-output "$DEST/main.jsbundle" \
      --assets-dest "$DEST"
    

    在 RN 0.14 之后,你已经不需要手工执行 react-native bundle 来生成 main.jsbundle,取而代之的就是 ** “每次执行都生成!” **。这就是慢的原因。

    解决

    知道原因之后是否可以解决这个问题呢?很简单,你只要在 react-native-xcode.sh 头上加几行:

    if [ "$CONFIGURATION" = "Debug" ]; then
      echo "--- Skip bundle building in 'Debug' mode"
      exit 0
    fi
    

    这样就可以恢复到原来的“高速”执行的方式了。

    Issue

    我后来发现,这个问题有一个对应的 issue。原本是 Asset System 的作者“当时”(4个月前)提出新的 Asset System 的实现构想。结果当新 Asset System 发布后,又带来了这个新问题。而这个问题目前显然不在 FB 的考虑范围内,所以自己改吧。

    相关文章

      网友评论

      • 幸福的李雨龙:💻慢慢15的高配几乎秒起
      • c6aaf97b5b51:在评论里谈多好呀,大家都可以看到。
      • jakend:作者做了多久的RN开发?
        能不能谈一下效率跟用原声的相比较,差距到底有多大?
        jacobbubu:@jakend 加了你QQ了
        jakend:可以用QQ哈,也可以用评论,我的QQ84300247
        jacobbubu:@jakend 怎么谈呢?在评论里?

      本文标题:为什么Build React-Native程序要等很久

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