Я пытаюсь найти правильный способ использования Chart
из chart.js
в приложении Rails 6 с использованием веб-упаковщика. Я хотел бы, чтобы код генерации javascript моего графика оставался на странице, поскольку я буду динамически генерировать его из представления.
Я начал с
yum add chartjs
, а затем добавил в приложение pack (и javascript_pack_tag
в моем application.html.erb
)
// app/javascript/packs/application.js
import Chart from "chartjs";
И затем, в представлении, я пытаюсь использовать эту библиотеку:
<div class="row">
<div class="col">
<canvas id="backlog-chart" width="100%" height="400px">
<script>
var ctx = document.getElementById('backlog-chart').getContext('2d');
new Chart(ctx, { ...
Это не удается с Chart is not defined
javascript ошибка.
Вещи, которые я пробовал:
- Форма
require("chartjs")
включения библиотеки в application.js
, похоже, никак не влияет. - Я попытался добавить
config/webpack/environment.js
к объекту ProvidePlugin
с Chart: "chartjs/chart.js"
, но без изменений. - И я попытался добавить
import Chart from "chart.js"
непосредственно в раздел <script>
в просмотр, но это не с ошибкой «импорт разрешен только в модуле» в браузере.
Мои javascript навыки определенно не поспевают за последние пару лет новых технологий, поэтому любые предложения по правильный способ сделать это будет оценен.