Локальная библиотека Angular с использованием перерывов Highcharts в производственном режиме - PullRequest
2 голосов
/ 28 октября 2019

Я написал Angular-библиотеку, упаковывающую Highcharts в соответствии с моими потребностями.

При локальном использовании в режиме dev он работает хорошо, но оптимизация режима prod, похоже, нарушает его.

Проблема заключается в модуле Highcharts, необходимом для добавления некоторых функций, например, для добавления новых типов диаграмм (например, TreeMap). Эти модули, кажется, не загружаются в режиме prod, что приводит к ошибке Highcharts (https://www.highcharts.com/errors/17/).

Это моя первая библиотека Angular, поэтому конфигурация должна быть неправильной, но я не могу найти, где проблема.

Я запустил минимальное воспроизведение проблемы в этом репо: https://github.com/Korbraan/angular-library-opti-bug

Сначала соберите библиотеку с ng build charts, затем попробуйте обслужить ее с ng serve --prod. Она ломается, но работаетс ng serve.

1 Ответ

1 голос
/ 30 октября 2019

Чтобы решить эту проблему, вы должны переместить инициализацию модулей внутри конструктора:

  constructor() {
    const self = this;

    Treemap(self.Highcharts);
    Heatmap(self.Highcharts);
  }
...