我对 ReactJS 非常有经验,现在我正在尝试学习 ReasonML。但是我一直在努力理解的一件事是如何使用 React/Reason 导入 npm 包。
网站上的说明对我来说有点不清楚(https://reasonml.github.io/guide/javascript/interop/)。
那么,如果我有一个 React/Reason 项目并且想使用一个 npm 包,我该怎么做呢?如何使用 Reason lang 导入它?
我对 ReactJS 非常有经验,现在我正在尝试学习 ReasonML。但是我一直在努力理解的一件事是如何使用 React/Reason 导入 npm 包。
网站上的说明对我来说有点不清楚(https://reasonml.github.io/guide/javascript/interop/)。
那么,如果我有一个 React/Reason 项目并且想使用一个 npm 包,我该怎么做呢?如何使用 Reason lang 导入它?
首先,感谢您的反馈!我会确保改善这一点。
现在,为了能够使用发布在 npm 上的 javascript 库,您需要为它找到或进行一些绑定,作为 Reason/BuckleScript 和 JavaScript 之间的桥梁。理想情况下,您需要的绑定已经编写(或生成)并发布到 npm,但如果没有,您必须自己编写它们。
大多数现成的绑定都列在redex包索引中,并且将包含有关如何使用它的说明。但如果他们不这样做,您需要做的就是npm install --save <package-name>
像往常一样运行,然后将包名称添加到bs-dependencies
数组中bsconfig.json
(另请参见BuckleScript 手册)。确保运行bsb -make-world
以构建新的依赖项,然后您应该能够直接使用绑定导出的模块。
如果没有绑定,并且您想自己制作,您需要做的就是正常使用添加 javascript 包npm install --save <pacakge-name>
,然后开始编写外部。BuckleScript 手册中描述了如何执行此操作。您可能还会发现我的FFI 备忘单很有用。
最后,欢迎您加入我们的 Discord,那里有很多友好的人愿意提供帮助!