如何使用本地包中的原因模块

How to use a reason module from local package

我正在寻找一种方法来使用我的 Reason React 应用程序(名为 ApplicationA)中的本地包(名为 bs-package)。

bs-package 在 src 文件夹中有一个名为 ModuleA.re 的文件:

let greet_me = (me) => Js.log("Hello, " ++ me ++ "!");

我在 ApplicationA 中做了 :

npm install /path/to/bs-package

在 node_modules 中 bs-package 现在显示为符号 link。

然后在 bsconfig 中将 bs-package 添加到 bs-dependencies

"bs-dependencies": [
    "reason-react",
    "bs-package",
],

然后运行在ApplicationA中创建世界

bsb -make-world 

现在在我的 Reason React 应用程序中

ModuleA.greet_me("John");

给我

unbound module ModuleA

我错过了什么?

编辑

这是bs-package的配置文件

它是用

创建的
bsb -init bs-package -theme basic-reson

bsconfig.json

{
    "name": "bs-pacakge",
    "version": "0.1.0",
    "sources": {
        "dir" : "src",
        "subdirs" : true
    },
    "package-specs": {
        "module": "commonjs",
        "in-source": true
    },
    "suffix": ".bs.js",
    "bs-dependencies": [

    ],
    "warnings": {
        "error" : "+101"
    },
    "namespace": true,
    "refmt": 3
}

package.json

{
    "name": "bs-pacakge",
    "version": "0.1.0",
    "scripts": {
        "build": "bsb -make-world",
        "start": "bsb -make-world -w",
        "clean": "bsb -clean-world"
    },
    "keywords": [
        "BuckleScript"
    ],
    "author": "",
    "license": "MIT",
    "devDependencies": {
        "bs-platform": "^5.0.6"
    }
}

如建议的那样,bs-package 已命名空间,因此这应该可以工作

BsPackage.ModuleA.greet_me("name")

但是出现同样的错误

unbound module BsPackage

显然这个错误来自我的 bs-platform 版本。我刚从 6.2.1 版切换到 7.0.1 版,现在一切正常(我在 Windows)。