ChartJS在开发时使用Angular 5,但ng build失败

时间:2018-05-02 16:48:09

标签: angular chart.js angular5

我正在构建一个包含动态图表的角度5应用程序,它完美无缺。

一旦我尝试ng build,我就会

  

src / app / brand-details / brand-details.component.ts(87,18)中的错误:   错误TS2350:只能使用' new'来调用void函数。   关键字。

违规部分是:

this.chart = new Chart(this.htmlRef, {
  type: 'doughnut',
  data: {
    datasets: [{
      data: chartValues,
      backgroundColor: COLORS,
      hoverBackgroundColor: []
    }],
    labels: chartLabels
  },
  options: {
    cutoutPercentage: 20,
    responsive: true,
    maintainAspectRatio: false,
    legend: {
      position: 'bottom'
    }
  }
});

,特别是this.chart = new Chart(this.htmlRef,...

由于有人请求,直接从chart.js库中的core.js复制,这里是图表的定义:

module.exports = function() {
  // Occupy the global variable of Chart, and create a simple base class
  var Chart = function(item, config) {
      this.construct(item, config);
      return this;
  };
  Chart.Chart = Chart;
  return Chart;
};

我在我的组件中导入它:

import { Chart } from "../../../node_modules/chart.js"

是否有一些参数可用于防止构建失败?

1 个答案:

答案 0 :(得分:0)

您是否将chart.js的DefinatelyTyped定义包含为dev依赖项?:

npm i --save-dev @types/chart.js

示例:https://stackblitz.com/edit/angular-v7uuuf