Как интегрировать Jitsi Meet в Aurelia

Я пытаюсь интегрировать и использовать Jitsi Meet в мое приложение Aurelia, но пока безуспешно. Как я вижу, эта библиотека не использует модули и не имеет файлов объявлений машинописного текста. На странице документации Github библиотеки говорится, что нужно просто включить тег script, например:

<script src='https://meet.jit.si/external_api.js'></script>

а затем вызовите API следующим образом:

const domain = 'meet.jit.si';
const options = {
    roomName: 'JitsiMeetAPIExample',
    width: 700,
    height: 700,
    parentNode: document.querySelector('#meet')
};
const api = new JitsiMeetExternalAPI(domain, options);

Проблема в том, что я не могу найти статью, в которой рассказывается, как использовать теги в веб-пакете aurelia, и я не знаю, куда поместить этот тег (intex, mycomponent.ts...). И в конце я получаю сообщение об ошибке, что typescript не может найти модуль JitsiMeetExternalAPI.

Я использую Aurelia с машинописным текстом и WebPack, но я могу перейти на requirejs, если его проще использовать.

Пожалуйста помоги

Обновление: мне удалось решить часть tpescript, добавив это в модель представления:

declare var JitsiMeetExternalAPI: any;

При этом мой код компилируется без ошибок. Я добавил тег скрипта cdn в конец тела в файле index.ejs. Итак, мой index.ejs теперь выглядит так:

<html>
  <head>
    <meta charset="utf-8">
    <title><%- htmlWebpackPlugin.options.metadata.title %></title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <base href="<%- htmlWebpackPlugin.options.metadata.baseUrl %>">
  </head>
  <body aurelia-app="main">
    <script src='https://meet.jit.si/external_api.js'></script>
  </body>
</html>

моя страница выглядит так:

<template>
  <div id="meet"></div>
</template>

Когда я запускаю приложение сейчас, я вижу, что был сделан вызов cdnscript jitsi, но затем я вижу ошибку aurelia-router, которая говорит:

Цитата

Что я делаю не так?


person Luka    schedule 23.04.2020    source источник


Ответы (1)


Финансируйте проблему. Проблема «appendChild» от aurelia заключалась в том, что он не мог найти html-элемент #meet, потому что представление не было визуализировано. Когда я перенес инициализацию JitsiMeetExternalAPI в компонент, теперь все работает.

person Luka    schedule 23.04.2020