【问题标题】:Error in handsontable numbro library, which happens only in production buildHandsontable numbro 库中的错误,仅在生产版本中发生
【发布时间】:2019-08-21 23:14:47
【问题描述】:

向我的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

完全错误:

奇怪的是,我只在ng build -prod(或--optimization 标志)上收到此错误。

因此使用调试器很棘手,因为 js 已经编译,但是使用 console.log() 我将其范围缩小到这个可操作的调用:

hot.alter('insert_row');

在阅读了有关此实用表 compilation issue 的信息后,我正在重构项目以在 tsconfig.json 中启用 strict:true,但结果证明这是一项相当大的工作。

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

版本:

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

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

【问题讨论】:

    标签: angular typescript npm handsontable


    【解决方案1】:

    你是对的,它与 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

    【讨论】:

      猜你喜欢
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      相关资源
      最近更新 更多