在导出的闭包中隐藏node.js实现模块

时间:2015-07-02 20:24:51

标签: javascript node.js module node-modules information-hiding

我的node.js库中有一些“实现”(私有)模块,我不打算将其导出到我的库的任何用户;但是,它在index.js中是required

一个简单的例子是:

my_library/
|
|_ index.js
|
|_ private_module_1/
|  |
|  |_ index.js
|
|_ private_module_2/
   |
   |_ index.js

我不想公开发布private_module_1private_module_2,只是index.js中的来源;但该代码依赖于私有模块。

我是否可以使用通用模式或工具在顶级index.js中放置/解析依赖项,以便我的库用户无法直接访问私有模块?

更新(回应卢克在下面的评论):

我正在考虑在构建时将所有内容转储到顶级index.js中,并在那里使用闭包 - 但是我必须确保手动解决模块之间的排序/依赖关系,这看起来像痛苦。

要明确的是,通过“隐藏”,我不是指缩小/混淆的代码,只是干净的名称空间和API。

0 个答案:

没有答案