我已经使用 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 的人说它很好。