各位靓仔靓女们,晚上好!我是你们的老朋友,今晚咱们聊聊 JavaScript 的依赖管理,特别是 NPM 和 pnpm 这两个家伙,以及它们是如何摆弄咱们的 node_modules 文件夹的。 开场白:依赖地狱的传说 话说江湖上流传着一个恐怖的传说,叫做“依赖地狱”。它描述的是当你的项目依赖越来越多,版本冲突越来越复杂,最终导致项目崩溃,程序员抱头痛哭的惨状。为了解决这个问题,各种包管理工具应运而生,其中 NPM 和 pnpm 就是两位响当当的人物。 第一回合:NPM,老大哥的策略 NPM (Node Package Manager),作为 Node.js 的官方包管理工具,资历老,用户多,生态完善。它的策略可以用八个字概括:简单粗暴,直接安装。 1.1 NPM 的安装策略:深度优先,一棵大树 当咱们用 NPM 安装一个包时,它会遵循深度优先的原则,把这个包以及它的所有依赖都一股脑儿地安装到 node_modules 里面。如果不同的包依赖同一个包的不同版本,NPM 会毫不犹豫地把这些版本都安装进去。 咱们来看个例子: // package.json { “name”: “my-ap …
继续阅读“JavaScript内核与高级编程之:`JavaScript`的`NPM`和`pnpm`:它们的依赖管理策略和 `node_modules` 结构。”