generator-angular-fullstack не может добавить angular-chart.js

0

Недавно я начал использовать угловые, точнее генератор угловой-fullstack (https://github.com/angular-fullstack/generator-angular-fullstack).

Я пытаюсь использовать библиотеку angular-chart-js (https://github.com/jtblin/angular-chart.js) для отображения графика в моем приложении, но нецелесообразно. Я всегда получаю сообщение об ошибке, когда добавляю chart.js в зависимости от модуля приложения.

Что я сделал:

Установка angular-chart.js с помощью команды "npm install --save angular-chart.js" (в моей корневой папке приложения), я проверил зависимость в файле "package.json".

Измените index.html и _index.html

<head>
    <script src="../node_modules/chart.js/dist/Chart.js"></script>
    <script src="../node_modules/angular-chart.js/dist/angular-chart.js"></script>
</head>

app.js

angular.module('myApp', ['chart.js']);

Эта конфигурация дает мне ошибку

Модуль 'chart.js' недоступен! Вы либо ошибочно написали имя модуля, либо забыли загрузить его. Если регистрация модуля гарантирует, что вы укажете зависимости в качестве второго аргумента.

После того, как я попробовал другую конфигурацию

Переместите строку из index.html и _index.html в main.html

main.html

<script src="../../../node_modules/chart.js/dist/Chart.js"></script>
<script src="../../../node_modules/angular-chart.js/dist/angular-chart.js"></script>

Импортируйте библиотеку по-другому и отключите строгий режим app.js.

app.js

import chartJs from 'chart.js';
angular.module('myApp', [chartJs]);

angular.element(document)
  .ready(() => {
    angular.bootstrap(document, ['myApp'], {
      strictDi: false
    });
  });

и с этой настройкой я получаю эту ошибку

Ошибка: [$ injector: modulerr] Не удалось создать функцию модуля (контекст, config) из-за: Ошибка: [$ injector: unpr] Неизвестный поставщик: контекст

Если вам нужна дополнительная информация, просто скажите мне.

Заранее спасибо!

Теги:
chart.js
angular-fullstack
angular-chart

1 ответ

1
Лучший ответ

Я нашел ошибку!

Вот мои изменения

app.js

import chartJs from 'angular-chart.js';
angular.module('myApp', [chartJs]);

angular.element(document)
  .ready(() => {
    angular.bootstrap(document, ['myApp'], {
      strictDi: true
    });
  });

Имя библиотеки было неправильным, и я могу снова включить "строгий режим".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню