Как использовать модуль причины из локального пакета
Я ищу способ использовать локальный пакет (с именем bs-package) из моего приложения Reason React (с именем ApplicationA).
bs-package имеет один файл в папке src с именем ModuleA.re:
let greet_me = (me) => Js.log("Hello, " ++ me ++ "!");
В ApplicationA я сделал:
npm install /path/to/bs-package
В node_modules bs-package теперь отображается как символическая ссылка.
Затем добавил bs-package в bs-dependencies в bsconfig
"bs-dependencies": [
"reason-react",
"bs-package",
],
Затем запустите make world в ApplicationA
bsb -make-world
Теперь в моем приложении Reason React
ModuleA.greet_me("John");
Дает мне
несвязанный модуль 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")
Но появляется та же ошибка
несвязанный модуль BsPackage
1 ответ
Видимо ошибка возникла из моей версии bs-platform. Я только что переключился с версии 6.2.1 на версию 7.0.1, и теперь все работает нормально (я на Windows).