0

I have recently started to use angular, more specifically the generator angular-fullstack (https://github.com/angular-fullstack/generator-angular-fullstack).

I try to use the angular-chart-js (https://github.com/jtblin/angular-chart.js) library for displaying graph in my app but unsuccefully. I always get an error when I add chart.js in the "app" module dependency.

What I have done :

Installing angular-chart.js with the command "npm install --save angular-chart.js" (in my app root folder), I have checked the dependency in the "package.json" file.

Modify index.html and _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']);

This config gives me the error

Module 'chart.js' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

After I have tried a different configuration

Move the line from index.html and _index.html to 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>

Import the library in a different way, and disable the strict mode app.js.

app.js

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

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

and with this setup I get this error

Error: [$injector:modulerr] Failed to instantiate module function (context, config) due to: Error: [$injector:unpr] Unknown provider: context

If you need more informations, just tell me.

Thanks in advance!

1 Answer 1

1

I have found the bug !!

Here is my changes

app.js

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

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

The library name was wrong, and I can enable again the "strict mode".

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.