ChartJS работает с Angular 5 во время разработки, но сборка ng не удалась - PullRequest
0 голосов
/ 02 мая 2018

Я создаю угловое приложение, включающее динамическую диаграмму, которая прекрасно работает.

Как только я пытаюсь ng build это, я получаю

ОШИБКА в src / app / brand-details / brand-details.component.ts (87,18): Ошибка TS2350: только функция «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,...

Поскольку кто-то просил, копируя непосредственно из библиотеки core.js в chart.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 голосов
/ 03 мая 2018

Есть ли у вас определения DefinatelyTyped для chart.js, включенные в зависимости dev?

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

Пример: https://stackblitz.com/edit/angular-v7uuuf

...