typescript - 如何将jitsi meet融入aurelia
问题描述
我正在尝试将Jitsi Meet集成并使用到我的 Aurelia 应用程序中,但到目前为止没有成功。我看到这个库不使用模块,也没有打字稿声明文件。在库 Github 文档页面上,它说只包含这样的脚本标签:
<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 webpack 中使用标签也不知道将该标签放在哪里(intex,mycomponent.ts ...)最后我得到错误说打字稿找不到模块 JitsiMeetExternalAPI。
我将 Aurelia 与 typescript 和 WebPack 一起使用,但如果更容易使用,我可以更改为 requirejs。
请帮忙
更新: 我设法通过将其添加到 viewModel 来解决 tpescript 部分:
declare var JitsiMeetExternalAPI: any;
有了这个,我的代码编译没有错误。我在 index.ejs 文件的正文末尾添加了 cdn 脚本标记。所以我的 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>
当我现在启动应用程序时,我看到调用是对 jitsi 的 cdnscript 进行的,但随后我看到 aurelia-router 的错误,上面写着:
我究竟做错了什么?
解决方案
资助问题,来自 aurelia 的“appendChild”问题是因为它找不到 html 元素#meet,因为视图没有被喷射渲染。当我将 JitsiMeetExternalAPI 初始化移动到组件时,现在一切正常。
推荐阅读
- android - Edittext:maxLength,限制为 3 个输入数字
- function - 如何在 Rust 中找到函数调用者的类型?
- powershell - 从 TeamCity 构建步骤更新环境变量
- c# - 异步任务
() 不使用 await 时不会立即返回 - php - Twitter webhook 注册错误 | {"errors":[{"code":32,"message":"无法验证您的身份。"}]}
- symfony - symfony2 无法读取未定义的属性“fnIsDatatable”
- javascript - 用于传递变量的脏 HTML 或脏 jQuery?
- jquery - 如何简化具有多个导航菜单的网站的 jQuery 脚本?
- flask - 带有 Flask 服务器的 Vue.js ... 直接在浏览器中输入 url 不会使用 vue.js 进行渲染。
- windows-10 - 在 Windows 10 中连接 USB 时自动打开记事本