【发布时间】:2012-08-26 17:32:46
【问题描述】:
在 node.js 应用程序中处理内部模块的首选方法是什么?
我的意思是,目前我们有一个相当大的应用程序,并且有几个依赖项,通过 npm 安装。我们在.gitignore 中有node_modules。因此它不在存储库中。我们使用npm shrinkwrap 来冻结模块版本,因此,在部署时,npm install 将我们需要的所有内容放在node_modules 中。
问题是,由于应用程序越来越大,我们希望将其拆分为更小的模块。现在,如果我创建一个 foo 模块并将其放入 node_modues,我需要在 repo 中允许它,这似乎不太好在 node_modules 中同时忽略和签出模块。
我们不能在 npm 注册表上发布这些,因为它们并不是真正的“公开”。
有什么我不知道的明显解决方案吗?
【问题讨论】:
-
我只是将我的私有库/模块粘贴到项目下的
/lib目录中,而不是npm_modules中。这样它们也可以包含在 Git 中。 -
是的,有一个 lib 文件夹和 require('./lib/myThing') 是很常见的
-
使用 lib 文件夹,我需要在每次需要时明确命名模块。我非常需要它们 :) 从各个地方。我不太喜欢
require("../../../../../lib/foo")。将它们放在节点模块中会使访问更加容易。
标签: node.js github dependencies npm