可操作的numbro库中的错误,仅在生产版本中会发生

时间:2019-03-31 18:29:29

标签: angular typescript npm handsontable

将行添加到可操作实例时出现以下错误:

  

core.js.pre-build-optimizer.js:15724错误RangeError:toFixed()digits参数必须在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');

在阅读了该可动手操作的compilation issue之后,我正在重构项目以在strict:true中启用tsconfig.json,但事实证明,这需要大量工作。

有人遇到过类似的问题吗?

版本:

  • Angular 7.2
  • Handsontable 7.0.0(但在v6中也会发生此问题)
  • 打字稿3.2.4

我在代码中的任何地方都没有使用numbro库,它纯粹是handsontable的依赖项(我项目中的其他库也没有使用它)。

1 个答案:

答案 0 :(得分:2)

您是对的,它不属于Handsontable版本。 v2.1.2中的Numbro依赖项之一引入了与Webpack TerserPlugin(默认minfier)的冲突[1]。

Handsontable v7.0.1将通过降低numbro依赖性来解决此问题。或者,您可以立即安装它:npm i numbro@2.1.1,Handsontable将使用您的版本。

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