是否可以不在BuckleScript中导出模块?

nor*_*ana 4 ocaml module reason bucklescript

是否有可能不导出某些不应由包消费者直接使用的内部模块?

gle*_*nsl 6

您可以指定一个未记录的选项,bsconfig.json将要导出的模块列入白名单,但据我了解,它也会隐藏别名模块,因此仅用于隐藏真正的内部模块,并且有点容易出错,因为它是白名单.因此我自己没有用过它.但是如果你想尝试一下,你可以"public"像这样指定:

{
  ...
  "sources": [{
    "dir": "src",
    "public": ["ModuleA", "ModuleB"]
  }]
  ...
}
Run Code Online (Sandbox Code Playgroud)

它在bsconfig.json架构中列出,btw,带有用的注释:

默认值:导出所有模块.建议库开发人员隐藏一些文件/接口