尝试从 Vue js 上加载的 CDN 访问类时出现“未定义”

问题描述

尝试在 Vue JS 上使用 Twilio TaskRouter JS SDK 时,您已通过 CDN 加载。

<!DOCTYPE html>
<html lang="en">
  <head>
    <Meta charset="utf-8">
    <Meta http-equiv="X-UA-Compatible" content="IE=edge">
    <Meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <noscript>
      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
    <script src="https://sdk.twilio.com/js/taskrouter/v1.21/taskrouter.min.js" integrity="sha384-5fq+0qjayReAreRyHy38VpD3Gr9R2OYIzonwIkoGI4M9dhfKW6RWeRnZjfwSrpn8" crossorigin="anonymous"></script>
  </body>
</html>

我想像这样初始化我的工人:

export const initWorker = (token) => {
  return new Twilio.TaskRouter.Worker(token);
}

但它给了我这个错误:'Twilio' 未定义。但它实际上正在工作并返回 Worker 对象。有没有办法忽略或说我期待 Twilio 的 Vue js?

解决方法

找到了一个修复,你必须告诉 eslint 你将把它作为全局,有两种方法:

在变量调用之前添加:

/* global Twilio */

或编辑您的 eslint 配置:

'globals': {
    'Twilio': 'readable'
  },

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...