Я играю с клиентской библиотекой Speech-to-Text узла Google Cloud API.Работает довольно хорошо и хорошо описано в их документации .Проблемы возникли, когда я захотел использовать его в VueJS: он просто не поддерживается.
Первая попытка: npm run serve
возвращает
ERROR Failed to compile with 3 errors 11:35:13
This dependency was not found:
* http2 in ./node_modules/@grpc/grpc-js/build/src/channel.js, ./node_modules/@grpc/grpc-js/build/src/subchannel.js and 1 other
Но http2
является основным модулемв узле сейчас, и когда я запускаю node -p http2
, я получаю результаты.
Вторая попытка:
npm i http2
npm run serve
возвращает
WARNING Compiled with 1 warnings 11:41:07
warning in ./node_modules/http2/lib/protocol/index.js
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
- В браузере консоль выдает ошибку
Uncaught Error: not supported
at Root.loadSync (root.js?ee6e:234)
at Object.loadSync (index-light.js?071f:69)
at Object.eval (index.js?f193:244)
at eval (index.js:250)
at Object../node_modules/@grpc/proto-loader/build/src/index.js (app.js:1383)
at __webpack_require__ (app.js:724)
at fn (app.js:101)
at Object.eval (grpc.js?6f5f:34)
at eval (grpc.js:288)
at Object../node_modules/google-gax/build/src/grpc.js
My Vue App является базовым и может быть восстановлено с помощью vue-cli
, запустив vue create app
.Затем я добавил в компонент HelloWorld базовый код, отображаемый в кратком руководстве .
Моя теория такова: VueJS не может использовать модуль google-gax из-за gRPC,Что ты думаешь?