问题描述
在生产模式构建之后,我的包中有一个 babel-standalone
模块。但我从来没有手动安装过这个 babel-standalone
。它也不存在于 package.json
中。但是我在这个项目中安装了 babel-polyfill
,babel-standalone
是否带有 babel-polyfill?如何从捆绑包中删除此模块以减少生产捆绑包的大小?
webpack-bundle-analyzer
的屏幕截图如下:
解决方法
babel-polyfill
不依赖于 babel-standalone
。还有其他东西正在导入它。您可以运行 npm ls babel-standalone
或 yarn 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',},]