Существует 2 проекта npm - web-api (библиотека) и пользовательский интерфейс.
Web-api использует gRPC-web для связи с бэкэндом, а затем преобразует его в простой объект js. В пользовательском интерфейсе мы используем Vue.js и web-api.
Необходимость: объединить эти два проекта.
Проблема заключается в следующем. gRPC-web использует стиль CommonJS (но можно использовать Closure, TypeScript). Таким образом, сгенерированные *.js
файлы из *.proto
будут иметь этот стиль для импорта - require ('grpc-web')
;на экспорт - module.exports = ...
.
Но Vue.JS поддерживает только стиль EcmaScript 6 для импорта и экспорта. Редактировать сгенерированные файлы своими руками или какой-либо другой утилитой плохо (не рекомендуется разработчиками).