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

  • построить конвейер: Typescript, browserify, browserify-css, uglify.
  • библиотеки времени выполнения: react, bootstrap.

мое приложение до сих пор имеет очень мало функциональности (вот почему я спрашиваю, собирается ли это укусить меня позже, хотя, похоже, работает сейчас). Позже он станет больше (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".

но во время сборки uglify сообщает:

WARN: Output exceeds 32000 characters

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

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

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

1 ответов


согласно комментарию DavidG, вы можете сказать Uglify не жаловаться на это с .

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

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

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

вышеуказанное установит длину линии к 120к - что заставило предупреждение исчезнуть.

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