Как интегрировать Google Cloud Text-to-Speech с Meteor - PullRequest
0 голосов
/ 22 декабря 2018

Я пытаюсь использовать Google Text-to-Speech API в приложении Meteor, но выдает ошибку на консоли Meteor и вылетает при попытке использовать функцию импорта, описанную в инструкциях:

("Uncaught TypeError: Cannot convert undefined or null to object at Function.getPrototypeOf (<anonymous>)") 

Вот что я сделал (в каталоге приложения) перед запуском метеора:

  1. метеор npm установил google-tts-api

  2. экспортGOOGLE_APPLICATION_CREDENTIALS = "/ data / authenticationinfo.json"

Проблемы связаны с включением этой строки вверху моего файла js:

import textToSpeech from '@google-cloud/text-to-speech';

Thisстрока вызывает следующую ошибку запуска Meteor на консоли: «Не удается разрешить некоторые модули:« http2 »в /app/node_modules/@grpc/grpc-js/build/src/channel.js (web.browser)

If you notice problems related to these missing modules, consider running:

  meteor npm install --save meteor-node-stubs

На самом деле, я выполнил указанную выше команду, но она не имеет никакого эффекта. Когда я запускаю приложение, оно быстро падает с ошибкой:

Uncaught TypeError: Невозможно преобразовать неопределенное или нулевое значение в объект приFunction.getPrototypeOf () в module.exports (модули.js? hash = 59a3378abff937a73bf3a9865d654fce71b9583a: 91277) в файле index.js (modules.js? hash = 59a3378abff937a73bf3a9865d654fce71b9583a: 86991) в файле: Eхэш = b819d45cbf32aff410d740fac0364cb4088cd3f2: 248) при требует (модули-runtime.js хэш = b819d45cbf32aff410d740fac0364cb4088cd3f2: 268) при jwtclient.js (modules.js хэш = 59a3378abff937a73bf3a9865d654fce71b9583a:? 79821) на fileEvaluate (модули-runtime.js хэш = b819d45cbf32aff410d740fac0364cb4088cd3f2: 346) в Module.require (modules-runtime.js? hash = b819d45cbf32aff410d740fac0364cb4088cd3f2: 248) в требовании (modules-runtime.js? hash = b819d45cbf32aff410d740fac0364 * b4088cd25f), проверен на 266 * 810, проверенный узел Ib2, 1032, проверенный узел Ib2, 1032, проверенный узел Ib2, 1032, проверенный узел:мой json-файл аутентификации Google работает нормально, так что это определенно не проблема.

Я понимаю, что есть некоторые пакеты Meteor для Google TTS, но они действительно старые и используют Google Translate (чтоне будет работать долго) вместо новых облачных сервисов.

1 Ответ

0 голосов
/ 22 декабря 2018

Итак, получается, что импорт должен выполняться на стороне сервера, а не на стороне клиента.

...