什么是 node-libs-browser 以及为什么在我安装 babel-loader 时安装它

What is node-libs-browser and why is it being installed when I install babel-loader

我刚刚安装了 babel loader,以便在 webpack 中使用 babel。

它引入了 3 个额外的节点依赖项,但是我只期望其中的 2 个

来自 babel 加载器 package.json

"peerDependencies": {
  "babel-core": "*",
  "webpack": "*"
},

那么为什么我也得到了 node-libs-browser 我不知道它是什么,并且不希望我的 devDependencies 中有额外的模块

重要! 正如 Patrik 所指出的,Webpack 现在可以处理它,因此您无需单独安装它。它已作为 Webpack 的直接依赖项移动。


旧答案

node-libs-browser 是 Webpack 的对等依赖。如 package page 中所述,它为浏览器使用提供了某些 Node 库。显然 fs 等模块在那里不可用,但您仍然可以使用很多模块。

建议您自己维护这样的对等依赖的版本。事实上,这将从 npm 3 开始成为默认设置。现在它们会自动安装。因此,将它们明确地列在 devDependencies 中是一个好主意,即使此时可能感觉需要一些额外的工作。