cer*_*am1 3 node.js npm node-modules
即使我构建package.json并运行
npm install ./
npm安装依赖项的依赖项,即使它完全相等。
例如)ExpressJs 4.0.0-rc4 node_modules / cookie === cookie-parser node_modules / cookie
当nodeJs加载文件时,将按文件缓存它。因此,如果npm不共享依赖项,则同一模块可以被解析几次,并使用更多的内存。
原因是为了项目维护和一致(且简单)的用法。现在,每个软件包都完全独立于其他软件包,并且每个软件包都遵循自己的package.json文件。
如果一个程序包更新了其依赖关系,则NPM只需检查该程序包。如果它共享一个引用,则不仅需要为已更改的版本更新新版本,还需要为另一个软件包切换并重新引用旧版本。或者,如果删除了共享参考的软件包,则NPM将需要重新检查所有其他软件包,以查看是否还有其他软件包在使用它。和其他奇特的用例共享时。
如今,存储价格便宜,并且大多数NPM模块的文件大小都很小。易于维护和一致的更新比节省几MB的文件有价值。
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |