我在ReactJS方面有相当丰富的经验,现在正在尝试学习ReasonML。但我一直难以理解的一个问题是如何在React/Reason中导入npm包。
网站上的说明对我来说有些不清楚 (https://reasonml.github.io/guide/javascript/interop/)。
那么,如果我有一个React/Reason项目,并想使用一个npm包,我该怎么做呢?如何使用Reason语言进行导入呢?
我在ReactJS方面有相当丰富的经验,现在正在尝试学习ReasonML。但我一直难以理解的一个问题是如何在React/Reason中导入npm包。
网站上的说明对我来说有些不清楚 (https://reasonml.github.io/guide/javascript/interop/)。
那么,如果我有一个React/Reason项目,并想使用一个npm包,我该怎么做呢?如何使用Reason语言进行导入呢?
首先,感谢反馈!我会确保改进这个问题。
现在,要使用在npm上发布的javascript库,您需要找到或创建一些绑定,作为Reason/BuckleScript和JavaScript之间的桥梁。理想情况下,您所需的绑定已经被编写(或生成)并发布到npm,但如果没有,您将不得不自己编写它们。
大多数可用的绑定都列在redex(包索引)中,并且将包括如何使用它的说明。但是,如果没有这样的说明,您只需要像往常一样运行npm install --save <package-name>
,然后将包名称添加到bsconfig.json
中的bs-dependencies
数组中(请参见BuckleScript manual)。确保运行bsb -make-world
以构建新的依赖项,然后您就可以直接使用绑定导出的模块了。
npm install --save <pacakge-name>
添加javascript包,然后开始编写externals。如何操作在BuckleScript手册中有描述。您也可以找到我的FFI备忘单有用。
extern
关键字。"从 Bucklescript 调用外部例程" 似乎是一个相对易懂的描述,希望不会失去太多的特定性。 - icc97