core.js:4197 ERROR TypeError: chart_js__WEBPACK_IMPORTED_MODULE_2__ is not a constructor

core.js:4197 ERROR TypeError: chart_js__WEBPACK_IMPORTED_MODULE_2__ is not a constructor

我在使用 chartJS 和 primeNG 时遇到了这个错误:

ERROR TypeError: chart_js__WEBPACK_IMPORTED_MODULE_2__ is not a constructor
    at UIChart.initChart (primeng-chart.js:48)
    at UIChart.ngAfterViewInit (primeng-chart.js:29)
    at callHook (core.js:3038)
    at callHooks (core.js:3008)
    at executeInitAndCheckHooks (core.js:2960)
    at refreshView (core.js:7243)
    at refreshComponent (core.js:8326)
    at refreshChildComponents (core.js:6965)
    at refreshView (core.js:7222)
    at refreshEmbeddedViews (core.js:8280)

在我的 angular.json 文件中,我添加了: "脚本": ["node_modules/chart.js/dist/Chart.js"]

ChartJS 版本:“chart.js”:“^3.0.2”, PrimeNG:“primeng”:“^11.3.2”, Angular CLI v:“@angular/cli”:“~10.0.1”,

高概率 primeng 仍然只适用于 chart.js 的 v2,因为 v3 本月刚刚发布并且有一些重大变化。

将 chart.js 降级到版本 2.9.4 应该可以解决您的问题

卡恩格

import Chart from 'chart.js'

进入

import { Chart, registerables } from 'chart.js'; 
import 'chartjs-adapter-moment'; // or another adapter to avoid moment
Chart.register(...registerables);

来自 here.