如何使用带有ReasonML的npm包?

Kad*_*BOT 18 reason bucklescript

我对ReactJS很有经验,现在我正在努力学习ReasonML.但是我一直在努力理解的一件事是如何使用React/Reason导入npm包.

我不清楚网站上的说明(https://reasonml.github.io/guide/javascript/interop/).

那么,如果我有一个React/Reason项目并且想要使用npm包,我该怎么办呢?如何使用Reason lang导入它?

gle*_*nsl 20

首先,感谢您的反馈!我会确保改进这一点.

现在,为了能够使用在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,那里有许多热心帮助的友好人士!

  • @ icc97 你有什么建议?我认为 FFI 是关于 [就这个概念而言的一般性](https://en.wikipedia.org/wiki/Foreign_function_interface)。“本机绑定”或“JavaScript 互操作”可能更直观,但这些术语实际上更_具体_而不是_一般_。 (2认同)