为什么 uglify-js 报告 'WARN: Output exceeds 32000 characters'?

Why does uglify-js report 'WARN: Output exceeds 32000 characters'?

到目前为止,我的应用程序的功能很少(这就是为什么我问这是否会影响我以后,即使它现在看起来可以工作)。稍后它会变得更大(react-router、redux、其他 js 库,如 Auth0,甚至可能有一些实际功能。)

我有一个 app.css,其中包含:

@import url("node_modules/bootstrap/dist/css/bootstrap.css");

然后我将其导入到我的 index.tsx 中:

import './app.css';

这一切似乎都有效,因为我的 helloworld React 组件显示 "hello world"。

但是,在构建期间,丑化报告:

WARN: Output exceeds 32000 characters

我应该忽略它吗?如果是这样,有没有办法抑制它?

查看 uglify 生成的文件表明它似乎确保没有任何行超过 32000 个字符 - 大多数行在 32000 处被截断(一个在 31999 处)。

但是有一行 var css='/*!\n * Bootstrap v3.3.7 ...' 有 120K 个字符长。我想这就是 Uglify 试图告诉我的,但这有什么大不了的?

根据 DavidG 的评论,您可以使用 max-line-len 选项告诉 Uglify 不要对此抱怨。

但是,您不能只添加该选项,因为它只有在您是 "beautifying" 代码时才有效。然后它会做其他你可能不想做的事情。

解决方法是使用 -b 选项启用美化,然后告诉 Uglify 不要实际美化。 o_O

"scripts": {
  "uglifyjs":"uglifyjs -b beautify=false,max-line-len=120000"
}

以上将行长度设置为 120K - 这使得警告消失。

不过,这更像是一种解决方法,而不是答案 - 它回答了我问题的 "how do I suppress it" 部分。我仍然不知道 为什么 它警告我 - 旧版浏览器或其他问题的问题,我不知道。