我的node.js库中有一些“实现”(私有)模块,我不打算将其导出到我的库的任何用户;但是,它在index.js中是required
。
一个简单的例子是:
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。