Использование внешних библиотек javascript с шаблонами ipyvuetify

#javascript #vue-component #jupyter #voila #ipyvuetify

Вопрос:

Я пытаюсь создать таблицу данных Vue, которая содержит диаграммы Google для определенного столбца данных.

По причинам, которые слишком долго объяснять, я использую python; в частности, jupyter и ipyvuetify. Записная книжка jupyer будет отрисована voila и развернута на heroku.

Я нашел способ реализации таблиц данных с помощью ipyvuetify. До сих пор это хорошо работало, и я даже могу писать методы javascript в шаблоне, которые позволяют мне настраивать фильтрацию. Тем не менее, я хотел бы встроить диаграммы google в один из столбцов таблицы данных, и для этого я пытаюсь использовать оболочку vue js vue-google-диаграммы.

До сих пор я даже не могу заставить появиться простую диаграмму Google. Вот упрощенный пример того, что я делаю:

 import ipyvuetify as v
import traitlets

class VuetifyTest(v.VuetifyTemplate):
    template = traitlets.Unicode(TEMPLATE)

VuetifyTest()
 

где TEMPLATE находится следующая HTML-строка:

 <script>

console.log("This message won't display in the console!");
var VueGChart = require("vue-google-charts");

module.exports = {
    components: {
        'GChart': VueGChart.GChart
    },
    data: () => ({
      chartData: [
        ["Year", "Sales", "Expenses", "Profit"],
        ["2014", 1000, 400, 200],
        ["2015", 1170, 460, 250],
        ["2016", 660, 1120, 300],
        ["2017", 1030, 540, 350]
      ],
      chartOptions: {
        chart: {
          title: "Company Performance",
          subtitle: "Sales, Expenses, and Profit: 2014-2017"
        }
      },
    })
}

</script>
<template>
    <h1>Example Google Chart</h1>
    <GChart
        type="ColumnChart"
        :data="chartData"
        :options="chartOptions"
    />
</template>
 

Однако, когда я пытаюсь это сделать, я получаю следующую ошибку в консоли браузера:

 ReferenceError: VueGChart is not defined
 

Я перепробовал около дюжины различных способов встраивания Google Диаграмм в свой шаблон ipyvuetify, в том числе напрямую используя API Google Диаграмм, добавив <script src=...> , но, похоже, ничего не работает. Более того, похоже, что код над module.exports = { строкой не выполняется, о чем свидетельствует отсутствие отображаемого сообщения при использовании console.log . Однако я точно знаю, что если я заменю require строку импортом, то она будет жаловаться на то, что она не является модулем.

Я совершенно сбит с толку. Может ли кто-нибудь подсказать, как заставить внешние библиотеки js работать с ipyvuetify любым необходимым способом?

Спасибо