Babel-standalone 存在于生产包中

问题描述

在生产模式构建之后,我的包中有一个 babel-standalone 模块。但我从来没有手动安装过这个 babel-standalone。它也不存在于 package.json 中。但是我在这个项目中安装了 babel-polyfillbabel-standalone 是否带有 babel-polyfill?如何从捆绑包中删除此模块以减少生产捆绑包的大小?

webpack-bundle-analyzer 的屏幕截图如下:

enter image description here

解决方法

babel-polyfill 不依赖于 babel-standalone。还有其他东西正在导入它。您可以运行 npm ls babel-standaloneyarn why babel-standalone 来查看安装它的原因。

在弄清楚 为什么 babel-standalone 包含在您的包中之后,如果您确定您和您的依赖项都不需要它(它用于即时编译 JS 代码)浏览器而不是构建时),您可以使用 Webpack 的 null-loader:

  rules: [
    {
      // Adjust this path to match the path of the imported babel-standalone file
      test: path.resolve(__dirname,'node_modules/babel-standalone/babel.js'),use: 'null-loader',},]