Я добавил новый пакет npm в свой проект и требует его в одном из моих модулей.
Теперь я получаю это сообщение из веб-пакета,
build modulesNote: The code generator has deoptimised the styling of "D:/path/to/project/node_modules/ramda/dist/ramda.js" as it exceeds the max of "100KB".
Что это означает? Нужно ли предпринимать какие-то действия?
Ответы:
Это связано с
compact
опцией компилятора Babel, которая дает команду «не включать лишние пробельные символы и ограничители строки. Когда установлено« auto », для параметра compact задано значение« true »при входных размерах> 100 КБ.» По умолчанию его значение равно «auto», поэтому, вероятно, вы получаете предупреждение. Смотрите документацию Babel .Вы можете изменить эту опцию из Webpack, используя параметр запроса . Например:
источник
?compact=false
вместоquery
параметра. Например:{test: /\.js$/, loaders: ['ng-annotate', 'babel?compact=false']}
false
. Для таких случаев, как мой, где важен формат вывода, это имеет значение. Как и большинство вещей, это зависит. :)Кажется, это ошибка Вавилона . Я предполагаю, что вы используете babel-loader и не исключаете внешние библиотеки из вашего теста loader. Насколько я могу судить, сообщение не вредно, но вы все равно должны сделать что-то вроде этого:
Посмотри. Это было это?
источник
exclude: /node_modules/
.exclude
.Любой из следующих трех вариантов избавляет от сообщения (но по разным причинам и с различными побочными эффектами, я полагаю):
node_modules
каталог или явноinclude
каталог, в котором находится ваше приложение (которое предположительно не содержит файлов, превышающих 100 КБ)compact
наtrue
(фактически любое значение , отличное от «авто»)compact
кfalse
(см выше)# 1 в приведенном выше списке может быть достигнуто либо путем исключения
node_modules
каталога, либо путем явного включения каталога, в котором находится ваше приложение.Например, в
webpack.config.js
:... или с помощью
include: path.resolve(__dirname, 'app/')
(снова вwebpack.config.js
).№ 2 и № 3 в приведенном выше списке могут быть выполнены с помощью метода, предложенного в этом ответе или (мои предпочтения) путем редактирования
.babelrc
файла. Например:Протестировано со следующей настройкой:
источник
Я попробовал путь Рикардо Стювена, но у меня это не сработало. В итоге получилось добавить «compact»: false в мой файл .babelrc:
источник
lodash.js
, и это решило проблему.Для более подробного объяснения
THIS LINK
,Babel compiler
команда может не включать лишние пробельные символы и ограничители строки. несколько раз назад его порог был,100KB
но сейчас есть500KB
.Я предлагаю вам отключить эту опцию в вашей среде разработки, с этим кодом в
.babelrc
файле.Для производственной среды
Babel
используйте конфигурацию по умолчаниюauto
.источник
В реакции / redux / webpack / babel build эта ошибка исправлена путем удаления типа тега script text / babel
получил ошибку:
Нет ошибки:
источник
в webpack 4 с несколькими правилами для модулей вы просто делаете что-то подобное в своем правиле .js:
источник
Возможно, это не тот случай, когда исходный вопрос OP, но: если вы превышаете максимальный размер по умолчанию, это может быть признаком какой-то другой проблемы, с которой вы столкнулись. в моем случае у меня было предупреждение, но в конечном итоге оно превратилось в ФАТАЛЬНУЮ ОШИБКУ: MarkCompactCollector: полупространственная копия, откат в старом поколении. Выделение не удалось - куча JavaScript из памяти. причина была в том, что я динамически импортировал текущий модуль, так что это закончилось бесконечным циклом ...
источник
require('../../../' + a + '/' + b)
). Удаление его решило проблему (и оно никогда не вернется).