我长期以来一直在使用 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 专用问题。由于 yarn,我没有遇到任何重大问题。
我本人没有使用过 shadow-cljs,但 thheller 在 Clojure 社区中始终是一个非常有帮助且知识渊博的参与者。因此,我假设这个工具的质量也非常出色,我还听说使用 shadow-cljs 的人也有很好的评价。