美文网首页
组件化之RN容器代码迁移

组件化之RN容器代码迁移

作者: DeanZeng | 来源:发表于2019-08-27 19:28 被阅读0次

    首先来吐槽一番:RN工程你运行遇到最多的报错是什么?话不多说,放图:

    是的,这个图在我来华为一月,几乎每天要碰到无数次。从最初的捶胸顿足到现在的麻木无奈

    ,只需要一月时间。因为在我的理解中,几乎你RN任何一个地方出问题,他都给你报这个错(包括什么配置文件错误,js代码错误,组件导入不对等等)。RN不会像其它语言那么友好,会针对性的告诉你哪里报错,永远都只会给你这么一行红色绝望字体。

    废话太多,入正题:

    首先描述一波我自己对组件化的理解:

          组件化就是将APP拆分成许多组件(如网络组件,UI组件,封装组件等等),同时解除这些模块之间的耦合,做到高内聚、低耦合。然后通过一个主工程将项目通过pod组合起来。

    盗图一张说明下组件的优缺点,如图: (图显示不出来,自行百度吧)

     首先这听上去是非常高大上的,但做起来挺是吐血的。因为当你在子工程运行很好的情况下,主工程不一定会给你面子不报错。下面记录下我组件化遇到的坑,或者说是自己的不足之处。

    这次记录的问题为:

    1、组件化的主工程未导入RN组件会导致这个NO bundle URL错误。

    之前我调试的代码都是在子工程中,通过pod引入,并且运行无误。但在我pod进主工程的时候却发现,无法运行,不停的这个错。为了解决这个bug,甚至把前几天的工程拆了无数遍重新弄也没解决。直至最后冷静思考,才恍然明白,才发现主工程中没导入对应的RN组件。下面贴podfile文件与主工程文件夹图:

    2、Plis文件没有导入正确的配置。

        在做完第一点后,当我以为导入组件后会成功运行,答案错了。还是No Bundle URl。这让我甚至一度怀疑 第一点是不是错的。难道我还是对组件化理解错误?

        最后,在我同事的提醒下才找到错误所在,这实在是一个很简单却又很容易忽视的错误。贴图如下:

    总结:

          1、没有在壳工程导入RN组件。说明对组件化、以及整个工程运行原理理解不够深入,过于片面。 

          2、代码细节把控不到位。plist文件配置是做RN工程文件最基本的一步,却被我在壳工程运行的时候忽略,证明自己这一块还存在不足。

    到现在,主工程正式可以平稳运行。其实RN还有很多的报错与坑,此前解决的不计其数。以后有时间会再一一记录。

    相关文章

      网友评论

          本文标题:组件化之RN容器代码迁移

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