我正在寻找类似于Windows DLL的概念。举一个具体的例子,假设我有一个函数加密,我希望在几个不相关的项目中共享。如果我想理想地改变实现,我可以这样做,每个项目都可以访问新的实现。是否有在Node.js中执行此操作的机制?
答案 0 :(得分:2)
请查看此document,尤其是“编写图书馆”部分
如果您正在撰写旨在供他人使用的程序, 那么在package.json文件中指定最重要的是 主要模块。这是作为您入口点的模块 程序
和
如果您有很多JavaScript代码,那么自定义就是将其放入 项目中的./lib文件夹。
在package.json文件中指定主模块。这是模块 您的用户在需要时会加载('your-library')。这个 理想情况下,模块应该公开库中的所有功能。
如果您希望您的用户能够从“胆量”加载子模块 你的图书馆,然后他们需要指定他们的完整路径。 这是一个很难记录的工作!它更好,更适合未来 简单地指定一个主模块,然后,如果有必要,有办法 动态加载他们需要的东西。
例如,您可能有一个翻转库,它是一个集合 窗口小部件对象,由flip / lib / widgets / * .js文件中的文件定义。 而不是让你的用户需要('flip / lib / widgets / blerg.js') 要获得blerg小部件,最好有类似的东西: 要求( '倒装')。loadWidget( 'blerg')。