下一代 npm

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元免费积分!

许多 Web 项目使用 npm 来提取它们的依赖项,无论是前端还是后端。 npm install 即可开始,将数千个文件提取到我们项目中的 node_modules 文件夹中,以 import/require 任何内容。 它是 Web 开发伟大机器中的一个重要齿轮。

虽然我不认为 npm 仓库曾经受到过有意义的挑战,但围绕它的技术经常面临竞争。 Yarn 在一段时间内确实起飞了。 Yarn 拥有锁文件,这有助于我们确保我们的同事开发人员和环境具有完全相同版本的软件,这非常有利。 它还在幕后做了一些魔法,使其非常快。 从那时起,npm 现在也拥有锁文件,传言说它一样快,甚至更快。

我不知道是否要建议你采用哪种方式,但我确实发现,另一代下一代 npm 拉取器-下推器-东西即将面世,令人着迷。

  • pnpm 专注于在运行多个项目时的 速度 和效率:“一个版本的包只保存一次在磁盘上。”
  • Turbo 旨在直接在浏览器中运行。
  • Pika 的目标 是,一旦您下载了所有依赖项,您就不应 *被迫* 使用捆绑器,并且可以根据需要使用 ES6 导入。 UNPKG 有时也以这种方式使用,因为它为您提供直接从 npm 拉取的包的 URL,并具有一个实验性的 ?module 功能,可以直接使用 ES6 导入。
  • 即使 npm 也参与其中! tink他们对这件事的看法,甚至消除了 Node.js,并能够在没有 node_modules 目录的情况下同时 importrequire 依赖项。