Uncaught Error: #90211 ExtensionName Error - Node.JS, Heroku, JavaScript App using FusionCharts

Uncaught Error: #90211 ExtensionName Error - Node.JS, Heroku, JavaScript App using FusionCharts

更新我的 NPM 包后,此应用程序停止工作并开始抛出以下错误:

**Error Message #1**
Uncaught (in promise) TypeError: Cannot read property 'call' of undefined
    at o (fusioncharts.js:13)
    at o.t (fusioncharts.js:13)

**Error Message #2**
Uncaught Error: #90211 ExtensionName Error >> A FusionCharts extension must have a getName API or a name property.
at o (fusioncharts.js:13)
at Function.i (fusioncharts.js:13)
at Function.e.addDep (fusioncharts.js:13)
at fusioncharts.js:13

错误 #1 出现一次,错误 #2 出现大约 30 次,直到它使应用程序崩溃。

我尝试过的东西

  1. 对这些错误进行了大量谷歌搜索,但得到的信息很少;搜索 SO 并没有发现任何关于这些特定错误的信息。
  2. 我认为这些错误可能意味着 FusionCharts 的 CDN 已损坏,所以我更换了 CDN 并刷新​​(尝试了几种选择);没变。
  3. 我还认为全局变量可能会搞砸,但我仔细检查了一下,我需要的所有依赖项都在 package.json.
  4. 我认为这可能与包管理器有关,所以我尝试 运行 "NPM install" 和 "Yarn install" 刷新包。没有。

有没有人对这些错误有任何想法?或者其他我可以尝试的事情?

已解决

这是一个包管理问题。我同时使用 NPM 和 Yarn(已知有风险),我不小心使用了 "npm install" 而不是 "yarn install" 来刷新包。这为我的本地环境打乱了 yarn 树,造成了依赖性差距。我尝试了"yarn install",但到那时已经太晚了(详细解释here

要解决此问题,您需要重置本地环境。

我采取的解决步骤:

1. Delete node & yarn and local repository

2. Reinstall node & yarn and download repo

3. Run "yarn install" (builds the dependency tree)

4. Run "yarn start" or "yarn dev"

我很欣慰这成功了。我希望这对您有所帮助,请发表评论以获取更多详细信息。

对于 运行 遇到此问题的其他人,这也可能是您安装的节点与项目 index.html 中的 fusioncharts 版本不匹配的问题。

<script
   type="text/javascript"
   src="https://cdn.fusioncharts.com/fusioncharts/3.18.0/fusioncharts.js"
></script>

此处定义的版本 (3.18.0) 必须与通过节点 (fusioncharts@3.18.0) 安装的版本相匹配。

在 angular(v12.2) 项目中同时使用 Fusiontime 和 Fusioncharts Suites 时就是这种情况。