【发布时间】:2015-03-26 02:47:02
【问题描述】:
如果我的问题很幼稚,我深表歉意。总的来说,我对 Node.JS 和 JavaScript 比较陌生。我希望有人可以阐明 Node.JS 如何处理重复的,可能是传递的,依赖关系?甚至不是全局命名空间或任何类型的冲突,或同一模块的不同版本(例如,您的应用程序中其他地方的 v0.1 与 v0.2),但更多的是尽可能智能和高效。例如:
- 是否有可能 Node 在占用空间方面足够聪明,以至于模块文件夹中没有相同版本的库的多个副本?类似于每个所需版本的 1 个副本,带有符号链接,或者类似的东西指向依赖于该模块版本的每个模块的此代码?
- 在运行时将重复的模块加载到内存中会怎样?如果模块 x 的 v0.1 已经加载到内存中,如果出现了需要该模块相同版本的其他依赖模块,代码是否会重新加载到内存中,或者 Node 是否足够聪明,可以看到该代码是已经加载并重新使用它? Node 在这方面的沙盒化程度如何?
谢谢!
【问题讨论】:
-
一般情况下,为了避免版本冲突,使用单独的副本。
标签: javascript node.js node-modules