Недавно я начал использовать угловые, точнее генератор угловой-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] Неизвестный поставщик: контекст
Если вам нужна дополнительная информация, просто скажите мне.
Заранее спасибо!
Я нашел ошибку!
Вот мои изменения
app.js
import chartJs from 'angular-chart.js';
angular.module('myApp', [chartJs]);
angular.element(document)
.ready(() => {
angular.bootstrap(document, ['myApp'], {
strictDi: true
});
});
Имя библиотеки было неправильным, и я могу снова включить "строгий режим".