我在我的项目中添加了一个新的npm包,并在我的一个模块中要求它。

现在我从webpack得到这个消息,

注意:代码生成器已经取消了“D:/path/to/project/node_modules/ramda/dist/ramda.js”的样式,因为它超过了“100KB”的最大值。

这是什么意思?我需要采取一些行动吗?


当前回答

在react/redux/webpack/babel build中,通过删除脚本标签类型text/babel修复了此错误

有错误:

<script type="text/babel" src="/js/bundle.js"></script>

没有错误:

<script src="/js/bundle.js"></script>

其他回答

在react/redux/webpack/babel build中,通过删除脚本标签类型text/babel修复了此错误

有错误:

<script type="text/babel" src="/js/bundle.js"></script>

没有错误:

<script src="/js/bundle.js"></script>

我试过里卡多·斯图文的方法,但对我没用。最终起作用的是在我的.babelrc文件中添加"compact": false:

{
    "compact": false,
    "presets": ["latest", "react", "stage-0"]
}

这是我的通天塔结构:

module.exports = {
  presets: [['@babel/preset-env'], ['@babel/preset-react']],
  plugins: [
    [
      '@babel/plugin-transform-runtime',
      {
        corejs: 3,
      },
    ],
    // react hmr
    ['react-refresh/babel'],
  ],
};

我还遇到了这个问题,因为这些代码:

    [
      '@babel/plugin-transform-runtime',
      {
        corejs: 3,
      },
    ],

最后我用加法解决了这个问题

exclude: /node_modules/ 

in

      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        use: ['babel-loader'],
      },

这似乎是一个通天塔错误。我猜您使用babel-loader,并且没有从加载器测试中排除外部库。据我所知,这条信息是无害的,但你仍然应该这样做:

loaders: [
    { test: /\.js$/, exclude: /node_modules/, loader: 'babel' }
]

看一看。是这样吗?

这与Babel编译器的压缩选项有关,该选项命令“不包括多余的空格字符和行结束符”。当设置为“auto”时,在输入大小为>100KB时,compact设置为true。”默认情况下,它的值是“auto”,所以这可能是您收到警告消息的原因。参见Babel文档。

您可以使用查询参数从Webpack更改此选项。例如:

loaders: [
    { test: /\.js$/, loader: 'babel', query: {compact: false} }
]