我正在尝试在Meteor应用程序中使用Google Cloud Text-to-Speech API,但在尝试使用说明中所述的导入功能时,在Meteor控制台上出现错误并崩溃:
("Uncaught TypeError: Cannot convert undefined or null to object at Function.getPrototypeOf (<anonymous>)")
这是我开始流星之前(在应用程序目录中)所做的事情:
流星npm安装google-tts-api
导出GOOGLE_APPLICATION_CREDENTIALS =“ / data / authenticationinfo.json”
问题与我的js文件顶部包含以下行有关:
import textToSpeech from '@google-cloud/text-to-speech';
此行在控制台上导致以下Meteor启动错误: “无法解析某些模块:/app/node_modules/@grpc/grpc-js/build/src/channel.js(web.browser)中的“ http2”
If you notice problems related to these missing modules, consider running:
meteor npm install --save meteor-node-stubs
实际上,我运行了上面的命令,但是没有效果。当我运行启动应用程序时,它迅速崩溃并显示错误:
未捕获的TypeError:无法将未定义或null转换为对象 在Function.getPrototypeOf() 在module.exports(modules.js?hash = 59a3378abff937a73bf3a9865d654fce71b9583a:91277) 在index.js(modules.js?hash = 59a3378abff937a73bf3a9865d654fce71b9583a:86991) 在fileEvaluate(modules-runtime.js?hash = b819d45cbf32aff410d740fac0364cb4088cd3f2:346) 在Module.require(modules-runtime.js?hash = b819d45cbf32aff410d740fac0364cb4088cd3f2:248) 在要求时(modules-runtime.js?hash = b819d45cbf32aff410d740fac0364cb4088cd3f2:268) 在jwtclient.js(modules.js?hash = 59a3378abff937a73bf3a9865d654fce71b9583a:79821) 在fileEvaluate(modules-runtime.js?hash = b819d45cbf32aff410d740fac0364cb4088cd3f2:346) 在Module.require(modules-runtime.js?hash = b819d45cbf32aff410d740fac0364cb4088cd3f2:248) 在需要时(modules-runtime.js?hash = b819d45cbf32aff410d740fac0364cb4088cd3f2:268)
我已经在准系统节点应用程序上对其进行了测试,并且我的Google身份验证json文件可以正常工作,所以绝对不是问题。
我知道有一些适用于Google TTS的Meteor软件包,但它们确实很旧,并且使用Google Translate(长期不会使用)而不是新的云服务。
答案 0 :(得分:0)
因此,事实证明导入必须发生在服务器端,而不是客户端。