名字的意思, 我自己的理解
no(po)lyfill 正如它的名字, 不要再用补丁了, 当然这里说的是过时的补丁。
polyfill 是补丁的意思
为什么要用这个插件
文档原文:
当您通过安装最新的 Node.js LTS 来接受最新的功能和安全修复时,像eslint-plugin-import、eslint-plugin-jsx-a11y、eslint-plugin-react和许多其他由 ljharb 维护的软件包仍然试图通过添加大量的 polyfill来支持早已失效的Node.js 4。这些填充会增加你的大小,浪费你的磁盘空间并减慢你的/ /命令。更糟糕的是,即使环境中有本机版本,ljharb 也会使用 polyfill 实现,这会使代码运行速度变慢。大多数人不应该被迫为自2018-04-30已经停止运行或者过时的 Node.js 版本安装 polyfill 。
我自己的理解:
就是现在安装npm包的时候还是会安装一些老的npm包, 就好像安装的时候提示什么包已经弃用, nolyfill 就是替换这玩意的。
不能使用该插件的环境
- Node.js 版本 12.4.0 以下
- 您的目标环境不具备完整的 ES2019 支持
如何使用
注意查看下面的命令, 不要无脑复制
- 可以使用 nolyfill cli 来将一些多余的补丁替换为轻量级的方式, 在你的项目根目录下运行下面的命令
npx nolyfill
# You can also specify the path to your project directory: (你也可以通过指定命令在哪个文件夹下运行)
npx nolyfill ~/projects/my-project
- 上面的方式可以找到并且列举出项目里所有的多余补丁, 然后通过执行 install 命令来替换他们
npx nolyfill install
# Or in the specified directory:
npx nolyfill install ~/projects/my-project
- 执行完成后你会在 page.json 文件看到 pnpm -> overrides 字段
github地址