3

Im trying to load a Chart.js chart on a website, but want to have the script in an external JS file. It works fine when i place the script in the HTML file, but when i try to put it into an external file it wont load. This is my HTML file:

<!DOCTYPE html>
<html lang="en">
  <head>
    <script
      type="text/javascript"
      src="node_modules/chart.js/dist/Chart.js"
    ></script>
    <script src="node_modules/jquery/dist/jquery.js"></script>
    <script src="js/script_test.js"></script>
  </head>
  <body>
    <div>
      <canvas id="myChart2" width="400" height="400"></canvas>
    </div>
  </body>
</html>

And my extrenal Js file(script_text.js):

  var ctx = document.getElementById("myChart2").getContext("2d");
  console.log("hi", ctx);
  var myChart = new Chart(ctx, {
    type: "bar",
    data: {
      labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
      datasets: [
        {
          label: "# of Votes",
          data: [12, 19, 3, 5, 2, 3],
          backgroundColor: [
            "rgba(255, 99, 132, 0.2)",
            "rgba(54, 162, 235, 0.2)",
            "rgba(255, 206, 86, 0.2)",
            "rgba(75, 192, 192, 0.2)",
            "rgba(153, 102, 255, 0.2)",
            "rgba(255, 159, 64, 0.2)"
          ],
          borderColor: [
            "rgba(255,99,132,1)",
            "rgba(54, 162, 235, 1)",
            "rgba(255, 206, 86, 1)",
            "rgba(75, 192, 192, 1)",
            "rgba(153, 102, 255, 1)",
            "rgba(255, 159, 64, 1)"
          ],
          borderWidth: 1
        }
      ]
    },
    options: {
      scales: {
        yAxes: [
          {
            ticks: {
              beginAtZero: true
            }
          }
        ]
      }
    }
  });
}

Any help is much appreciated!

Grebalb
  • 113
  • 1
  • 12

0 Answers0