不知道将taskrouter.js导入React的正确方法

时间:2019-05-23 03:19:03

标签: reactjs twilio

我试图将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

1 个答案:

答案 0 :(得分:0)

这里是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>

或者,有一个npm package now available for TaskRouter JS。通过安装到项目中来使用它:

npm install twilio-taskrouter --save

您可以通过以下方式从React中使用工作程序:

import { Worker } from 'twilio-taskrouter';

让我知道是否有帮助。