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

Posted

技术标签:

【中文标题】未捕获的类型错误:t.rgb 不是函数【英文标题】:Uncaught TypeError: t.rgb is not a function 【发布时间】:2020-02-18 02:00:44 【问题描述】:

我创建了一个 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 。 角版本 7.3.9 。 打字稿 3.2.4

我尝试了许多版本的组合,但都没有成功。

当我通过--optimization=false时它也运行成功 到目前为止,我一直无法调试。这非常类似于this question,但是解决方案不适用于这种情况

如果有任何其他信息有用,请告诉我。

【问题讨论】:

你能用 github 转发你的代码吗,我在没有 --aot 的构建标志上遇到了很多问题,通常问题出在 Angular 或依赖项内部。您能否上传您的 package.json 或您的 Angular,以便我可以看到代码的正确错误? 至少有人可以解释为什么我的问题已关闭,但this 没有? @johnchase 你能在哪里解决这个问题?在生产模式下尝试将 d3 与 Angular 8 一起使用时,我也遇到了类似的问题 @johnchase 谢谢 .. 在我的情况下,D3 和 Angular 8 的次要版本似乎有一些问题。将它升级到最新版本为我解决了这个问题。 好的,请在此处找到版本***.com/questions/58898594/… 【参考方案1】:

更新您的@angular-devkit/build-angular 版本 (刚刚找到here)。

【讨论】:

【参考方案2】:

我已将 d3 的版本从 5.9.2 降级为 4.13.0。

npm install d3@4.13.0

问题是 d3-color。

希望对您有所帮助。

【讨论】:

以上是关于未捕获的类型错误:t.rgb 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的类型错误:$ 不是函数 [重复]

Bourbon Refills Navigation JavaScript 错误:未捕获类型错误:未定义不是函数

未捕获的类型错误:$(...).size 不是函数

自定义模块:未捕获类型错误:未定义不是函数

未捕获的类型错误:未定义不是日期选择器引导程序的函数

未捕获的类型错误:$(...).magnificPopup 不是函数