我已经长时间使用figwheel-main进行React Native开发(大约从2016年开始),并且总的来说非常满意。
截至去年,npm包的支持也确实无懈可击。您可以这样做“yarn add @tensorflow/tfjs”。然后简单地添加一个require类似:
[@tensorflow/tfjs :as tfjs]
... 这样一切就可以正常工作(至少在React Native + CLJS上是这样。我最近没有做过基于浏览器的CLJS项目,但我假设它应该是相同的)。
React Native使用自己的打包器(称为metro),您必须使用它,因此在React Native上您无法避免使用额外工具。关于这一点,我想给出一个建议:如果您要使用JavaScript包,请使用“yarn”而不是“npm”。这应该适用于浏览器和React Native开发。多年来,我使用yarn的经验始终是最好的。我只有因为npm而经历过许多半天的浪费,只能通过一个神秘的谷歌搜索才发现是一些奇怪的npm特定问题。想不起有任何重大问题是因为yarn。
我本人没有使用shadow-cljs,但thheller是Clojure社区里一个非常有帮助和知识渊博的参与者。所以我想这个工具的质量也应该非常优秀,我也从使用shadow-cljs的人那里听到了一些好话。