我的 node.js 库中有一些“实现”(私有)模块,我不打算将它们导出给我的库的任何用户;但是,它required
在 index.js 中。
一个简单的例子是:
my_library/
|
|_ index.js
|
|_ private_module_1/
| |
| |_ index.js
|
|_ private_module_2/
|
|_ index.js
我不想分发private_module_1
或private_module_2
公开,只是来源index.js
;但该代码依赖于私有模块。
是否有一个通用模式或工具可以用来在顶层放置/解决依赖关系index.js
,以便我的库的用户无法直接访问私有模块?
更新(回应卢克在下面的评论):
我正在考虑在构建时转储顶级 index.js 中的所有内容,并在那里使用闭包 - 但我必须确保手动解决模块之间的排序/依赖关系,这似乎很痛苦。
需要明确的是,通过“隐藏”,我并不是指缩小/混淆的代码,只是清理命名空间和 API。