\
--ts_proto_opt="esModuleInterop=true,outputServices=nice-grpc,outputServices=generic-definitions,useExactTypes=false" \
--js_out=import_style=commonjs,binary:. \
--proto_path=. \
./*.proto
Есть реакт + грпц сервер (с гейтвеем) на го
Надо к нему подключиться и делать запросы
Сгенерированные файлы подключаю и на выходе получаю ошибку
./src/components/Main/service.ts 194:37
Module parse failed: Unexpected token (194:37)
You may need an appropriate loader to handle this file type.
| fromJSON: function fromJSON(object) {
| return {
> hashes: Array.isArray(object?.hashes) ? object.hashes.map(function (e) {
| return String(e);
| }) : []
Не подскажете как пофиксить?
import {createChannel, createClient} from 'nice-grpc-web';
import {
ServiceCleint,
ServiceClientDefinition
} from './service';
const channel = createChannel('http://localhost:8080');
const client: ServiceCleint = createClient(
ServiceClientDefinition,
channel,
);
Не подскажете как пофиксить или может еще другие пути решения есть?
Ошибку, которую вы получаете, можно исправить, добавив подходящий загрузчик для обработки сгенерированных файлов. Похоже, что ваш текущий сборщик не знает, как обрабатывать файлы с расширением .ts или .js и выдает ошибку, когда видит такой файл. Есть несколько путей решения: Используйте TypeScript для компиляции: Если вы используете TypeScript для своего проекта, убедитесь, что у вас установлены все необходимые зависимости и правильно настроен tsconfig.json. TypeScript должен успешно обработать сгенерированные файлы .d.ts (объявления типов TypeScript) и скомпилировать их без ошибок. Webpack с соответствующим загрузчиком: Если вы используете Webpack для сборки проекта, убедитесь, что у вас установлен соответствующий загрузчик, который может обрабатывать TypeScript файлы. Обычно для этого используется ts-loader. Babel с соответствующим плагином: Если вы используете Babel для транспиляции кода, убедитесь, что у вас установлен соответствующий плагин, который может обрабатывать TypeScript файлы. Например, @babel/preset-typescript. В зависимости от того, какой инструмент сборки вы используете, выберите подходящее решение. Примеры конфигурации для Webpack и Babel: Webpack с ts-loader:
у меня итак тайпскрипт
Обсуждают сегодня