如何在Node.js中实现共享库?

我正在寻找类似于Windows DLL的概念。 作为一个具体的例子,假设我有一个函数encryption,我想分享几个不相关的项目。 如果我想在理想情况下改变实现,我可以这样做,每个项目都有权访问新的实现。 Node.js中有这样的机制吗?

看看这个文件,特别是“编写一个库”

如果您正在编写一个旨在供其他人使用的程序,那么在您的package.json文件中指定的最重要的是主模块。 这是作为程序入口点的模块。

如果你有很多的JavaScript代码,那么这个习惯就是把它放在项目的./lib文件夹中。

在你的package.json文件中指定一个主模块。 这是你的用户在需要的时候加载的模块('你的库')。 理想情况下,该模块应该公开库中的所有function。

如果您希望用户能够从库的“内脏”中加载子模块,则需要指定完整的path。 这是很多工作要logging! 简单地指定一个主模块,然后在必要时可以dynamic加载他们所需要的东西,这会更好,更有前途。

例如,您可能有一个翻转库,它是由flip / lib / widgets / *。js文件中的文件定义的小部件对象的集合。 require('flip')。loadWidget('blerg'),而不是让用户确实需要('flip / lib / widgets / blerg.js')来获取blerg部件。