如何pipe理内部Node.JS模块
在node.js应用程序中处理内部模块的首选方法是什么?
我的意思是,目前我们有一个相当大的应用程序,有几个依赖,通过npm安装。 我们有.gitignore
node_modules
。 因此它不在存储库中。 我们使用npm shrinkwrap
来冻结模块版本,所以在部署时,一个npm install
把我们需要的东西放到node_modules
。
问题是,由于应用程序越来越大,我们希望将其分割成更小的模块。 现在,如果我创build一个foo
模块并将其放入node_modues
,我需要在repo中允许它,这似乎不是很好,因此忽略并检查了node_modules
模块。
我们不能在npmregistry上发布这些信息,因为它们并不真正“公开”。
有没有明显的解决scheme,我不知道?
我同意你的审美,不混合第三方非回购的东西与您的内部修订控制的内容。
NODE_PATHsearchpathvariables可以在这里帮助你,你可以使用一个不同的目录,内容在版本控制之下。
http://nodejs.org/api/modules.html
根据您对灵活性和复杂性的需求,您可以考虑一个构build步骤,将您保存的各个节点模块实际上复制到输出目录(可能是“named node_modules”,但不一定)。
一个常见的解决scheme是将模块存储在某个私人Git存储库中,然后使用git://
URL作为依赖关系; npm知道如何将存储库克隆为依赖关系。