不知道如何将taskrouter.js导入react

问题描述 投票:0回答:2

我尝试将 taskrouter.js 导入到我的 React 应用程序中,但我不知道正确的方法。

 const script = document.createElement("script");
    script.src = "../library/taskrouter.js";
    script.async = true;
    document.body.appendChild(script)
    script.onload = function() {
        axios.get(url_host + '/worker/activiti')
        .then((res) => {
            var worker = new Twilio.TaskRouter.Worker(res);
            console.log("YEET",worker)
        })
      };

这是我得到的错误。

Unhandled Rejection (TypeError): Cannot read property 'Worker' of undefined
reactjs twilio
2个回答
1
投票

这里是 Twilio 开发者布道者。

首先,您是否确认加载这样的脚本实际上在您的页面上包含了TaskRouter JS文件?我担心 webpack(或您用来构建应用程序的任何内容)可能会对您在那里设置的脚本 src 执行一些意外的操作。或者在项目构建后最终可能无法引用正确的文件。

我会尝试以下两种方法之一来包含 TaskRouter.js。要么将来自 CDN 的 TaskRouter.js 文件包含在 React 对应用程序的控制之外,位于 index.html 文件的

<head>
中。

<script src="//media.twiliocdn.com/taskrouter/js/v1.13/taskrouter.min.js"></script>

或者,现在有一个适用于 TaskRouter JS 的 npm 包。通过安装到您的项目中来使用它:

npm install twilio-taskrouter --save

然后您可以通过像这样导入来使用 React 中的工作器:

import { Worker } from 'twilio-taskrouter';

然后你可以使用以下方法实例化一个新的worker:

const worker = new Worker(token);

请告诉我这是否有帮助。


0
投票

我使用此代码,但它返回 Error fetching window.TaskRouterWorker: TypeError: c.default.create is not a function 此错误给我此错误解决方案

© www.soinside.com 2019 - 2024. All rights reserved.