Почему отчет uglify-js "WARN: вывод превышает 32000 символов"?

  • построить конвейер: Typescript, браузер, браузер-css, uglify.
  • библиотеки времени выполнения: реакция, бутстрап.

Мое приложение до сих пор имеет очень мало функциональности (вот почему я спрашиваю, будет ли это укусить меня позже, даже если оно работает сейчас). Позже он станет больше (реакция-маршрутизатор, редукция, другие js-библиотеки, такие как Auth0, возможно, даже некоторые фактические функции.)

У меня есть app.css, который содержит:

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

Затем я импортирую это в свой index.tsx с помощью:

import './app.css';

Все это, похоже, работает в том, что мой компонент реагирования helloworld отображает "мир привет".

Но, во время сборки, отмените отчеты:

WARN: Output exceeds 32000 characters

Должен ли я игнорировать его? И если да, есть ли способ подавить его?

Глядя на файл, созданный uglify, показывает, что кажется, что строки не имеют > 32000 символов - большинство строк обрезаются чуть меньше 32000 (один на 31999).

Но есть одна строка var css='/*!\n * Bootstrap v3.3.7 ...', которая длится 120K символов. Я предполагаю, что это то, что пытается сказать мне Uglify, но что это такое?

Ответ 1

Согласно комментарию DavidG, вы можете сказать Uglify, чтобы не жаловаться на это с помощью параметра max-line-len.

Но вы не можете просто добавить этот параметр, потому что он работает только, если вы "украшаете" код. Что тогда делает другие вещи, которые вы не можете делать.

Решением этого является использование опции -b для обеспечения благоустройства, но затем сообщите Uglify, чтобы он не украшал. о_О

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

Вышеуказанная установка задает длину линии до 120 тыс., что заставило предупреждение уйти.

Это скорее обходной путь, чем ответ, хотя он отвечает на вопрос "как его подавить" в моем вопросе. Я все еще не знаю, почему это предупреждает меня об этом - проблемы со старыми браузерами или что-то еще, я не знаю.