如何在RationalML中使用npm包?

问题描述:

我对ReactJS非常有经验,现在我正在尝试学习ReasonML。但是我一直在努力去理解的一件事是如何用React/Reason导入npm包。如何在RationalML中使用npm包?

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

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

首先,感谢您的反馈!我会确保让这个改进。

现在,为了能够使用在npm上发布的JavaScript库,您需要为它找到或作一些绑定,作为Reason/BuckleScript和JavaScript之间的桥梁。理想情况下,您需要的绑定已经被写入(或生成)并发布到npm,但是如果没有,您必须自己编写它们。

最容易找到的绑定列在reasonml-community index中,并将包含如何使用它的说明。但是,如果他们不这样做,那么您需要像往常一样运行npm install --save <package-name>,然后在bsconfig.json(另请参阅BuckleScript manual)中将程序包名称添加到bs-dependencies阵列中。确保运行bsb -make-world以建立新的依赖关系,那么您应该能够直接使用绑定导出的模块。

如果没有绑定,并且您想自己创建,那么您只需要使用npm install --save <pacakge-name>就可以正常添加javascript包,然后就可以开始编写外部代码。 BuckleScript manual中描述了如何执行此操作。您也可能会发现我的FFI cheatsheet有用。

最后,欢迎您加入我们our Discord,那里有很多热心人帮忙!

+1

需要在将软件包添加到'bs-dependencies'和使用'bsb -make-world'之间添加一个更明确的步骤。 – Yawar