Почему импортированный Twilio в vuejs недействителен?

#vuejs2 #twilio

# #vuejs2 #twilio

Вопрос:

Я хочу использовать twilio API для моего приложения vuejs2, просматривая демонстрацию https://github.com/TwilioDevEd/sdk-starter-node : Я добавил в проект с помощью команды yarn add twilio

Но мне не удалось создать Twilio.Chat.Клиент с действительным токеном, который я получил от серверной точки, поскольку импортированный объект twilio недействителен. В src/main.js Я добавил строку :

 export const Twilio = require('twilio')
 

и на моей странице vue с кодом:

 console.log('initializeChatClient token::')
console.log(token)
console.log('initializeChatClient id::')
console.log(id)
console.log('initializeChatClient channel::')
console.log(channel)

// const Twilio = require('twilio')
console.log('$twilio::')
console.log(Twilio)

console.log('$twilio.Chat::')
console.log(Twilio.Chat)

const client = await Twilio.Chat.Client.create(token)
 

Я получил ошибку :

 TypeError: Cannot read property 'Client' of undefined
 

и в консоли я вижу недопустимый объект twilio: https://prnt.sc/w41cc7

Что не так?

package.json :

 "axios": "^0.19.0",
"core-js": "^3.3.2",
...
"twilio": "^3.54.0",
"vue": "^2.6.10",
...
 

Спасибо!

Ответ №1:

Судя по вашему скриншоту, Twilio на самом деле содержит функцию. введите описание изображения здесь

Проверьте этот файл: https://github.com/TwilioDevEd/sdk-starter-node/blob/master/src/notification_handler.js :

Существует этот метод, который инициализирует клиента с помощью new Twilio(...) :

 function getTwilioClient() {
  // Twilio Library
  const client = new Twilio(
    config.TWILIO_API_KEY,
    config.TWILIO_API_SECRET,
    {accountSid: config.TWILIO_ACCOUNT_SID}
  );

  ...

}
 

Следуйте тому же подходу для инициализации вашего.