генератор-угловой-полный стек не может добавить angular-chart.js

Недавно я начал использовать angular, а точнее генератор angular-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] Не удалось создать экземпляр функции модуля (контекст, конфигурация) из-за: Ошибка: [$injector:unpr] Неизвестный поставщик: контекст

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

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


person Anthony    schedule 18.08.2016    source источник


Ответы (1)


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

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

app.js

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

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

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

person Anthony    schedule 18.08.2016