Ошибка в handsontable библиотеке numbro, которая возникает только в производственной сборке - PullRequest
2 голосов
/ 31 марта 2019

Я получаю следующую ошибку при добавлении строки в мой экземпляр handsontable:

core.js.pre-build-optimizer.js: 15724 ОШИБКА RangeError: аргумент цифр toFixed () должен быть в диапазоне от 0 до 100 в Number.toFixed () в h (numbro.min.js.pre-build-optimizer.js: 1) в numbro.min.js.pre-build-optimizer.js: 1

Полная ошибка: enter image description here

Странно то, что я получаю эту ошибку только на ng build -prod (или с флагом --optimization).

Поэтому использовать отладчик сложно, так как js был скомпилирован, но с использованием console.log() Я сузил его до этого вызова, выполняемого вручную:

hot.alter('insert_row');

После прочтения этой проблемы с компиляцией , которую можно установить на руки , я нахожусь в процессе рефакторинга проекта, чтобы включить strict:true в tsconfig.json, но это оказывается довольно трудоемкой работой.

Кто-нибудь сталкивался с подобной проблемой?

версия:

  • Угловой 7,2
  • Handsontable 7.0.0 (но проблема также возникает в v6)
  • Машинопись 3.2.4

Я нигде не использую библиотеку numbro в своем коде, это просто зависимость handsontable (никакие другие библиотеки в моем проекте также не используют ее).

1 Ответ

3 голосов
/ 01 апреля 2019

Вы правы, это не относится к Handsontable версии. Одна из зависимостей Numbro в v2.1.2 привела к конфликту [1] с Webpack TerserPlugin (minfier по умолчанию).

Handsontable v7.0.1 исправит эту проблему, понизив зависимость от numbro. Или вы можете установить его прямо сейчас: npm i numbro@2.1.1 и Handsontable будет использовать вашу версию.

[1] https://github.com/BenjaminVanRyseghem/numbro/issues/402#issuecomment-471586507

...