未捕获的类型错误:t.rgb不是一个函数。

13

未捕获的 TypeError: t.rgb 不是一个函数

我创建了一个 Angular 应用程序,构建了它,并尝试进行服务。

$ ng serve --prod --aot 

这将导致控制台出现以下错误。
Uncaught TypeError: t.rgb is not a function
    at HO (color.js.pre-build-optimizer.js:227)
    at GO (color.js.pre-build-optimizer.js:232)
    at rgb.js.pre-build-optimizer.js:36
    at RH (ramp.js.pre-build-optimizer.js:4)
    at Module.zUnb (BrBG.js.pre-build-optimizer.js:16)
    at f (bootstrap:78)
    at Object.0 (index.js.pre-build-optimizer.js:26)
    at f (bootstrap:78)
    at t (bootstrap:45)
    at Array.r [as push] (bootstrap:32)

应用程序未显示
当我使用非压缩构建应用程序(使用--prod标志)时,它可以正常工作。
仅在使用D3时才会出现此问题。
D3版本为^5.9.1。 Angular版本为7.3.9。 TypeScript版本为3.2.4。
我已尝试过许多版本组合,并没有成功。
当我传递--optimization=false参数时,它也可以成功运行。 到目前为止,我无法调试此问题。这与此问题非常相似,但该解决方案不适用于此情况。
如果有任何其他信息有用,请告知。

至少有人能解释一下为什么我的问题被关闭,但是这个没有被关闭吗? - johnchase
@maxkart,事实证明我遇到的问题也与D3有关。我通过关闭优化来解决了这个问题,使应用程序能够构建。但是我无法在优化和D3上使其正常工作。 - johnchase
3
@johnchase 谢谢..在我的情况下,似乎D3和Angular 8的小版本存在一些问题。将它们升级到最新版本解决了这个问题。 - maxkart
2
当然,请在此处找到版本 https://dev59.com/uLfna4cB1Zd3GeqPuYr-#58948723 - maxkart
@johnchase:你的问题解决了吗?如果是的话,能否帮助我一下,因为我在使用d3V5和angular 8.1.2时遇到了相同的错误。 - panwar
显示剩余7条评论
2个回答

1

更新您的@angular-devkit/build-angular版本(在此处找到)。


1

我已经将d3的版本从5.9.2降级到了4.13.0。

npm install d3@4.13.0

问题出在d3-color模块中。
希望这有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接