问题描述
尝试在 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'
},