2

生成された proto 定義に問題があります。

protoc-gen-grpc-webここから入手した最新バージョン(バージョン 1.0.7)を使用しています。

注: バージョン 1.0.5 だけでなく、MacOS と Windows の両方でも同じ問題が発生しました。

私が抱えている問題は、生成された定義に名前空間からの.分離がないことです。Class

例えば。私の出力は次のようになります:

import * as jspb from "google-protobuf"

import * as google_protobuf_timestamp_pb from 'google-protobuf/google/protobuf/timestamp_pb';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
import * as common_basic_pb from './common/basic_pb';
import * as contact_mechanism_pb from './contact_mechanism_pb';
import * as banking_detail_pb from './banking_detail_pb';
...

export namespace IncomeTax {
  export type AsObject = {
    id: string,
    personId: string,
    dateCreated?: google_protobuf_timestamp_pb.Timestamp.AsObject,
    lastUpdated?: google_protobuf_timestamp_pb.Timestamp.AsObject,
    fromDate?: google_protobuf_timestamp_pb.Timestamp.AsObject,
    thruDate?: google_protobuf_timestamp_pb.Timestamp.AsObject,
    taxNumber: string,
    country?: contact_mechanism_pbCountry.AsObject,
  }
}

行を参照してくださいcountry?: contact_mechanism_pbCountry.AsObject,

contact_mechanism_pbCountryする必要がありますcontact_mechanism_pb.Country

common_basic_pbこれは、、 のすべての場合に発生しcontact_mechanism_pbますbanking_details_pb

しかし、 と の場合はそうではありませgoogle_protobuf_timestamp_pbgoogle_protobuf_empty_pb

私のgen-protosスクリプトは次のようになります。

#!/bin/bash

mkdir -p ./src/gen

protoc -I=../protos/                                   \
       ../protos/*.proto                               \
       ../protos/**/*.proto                            \
       ../protos/**/**/*.proto                         \
       ../protos/**/**/**/*.proto                      \
       --js_out=import_style=commonjs:./src/gen \
       --grpc-web_out=import_style=commonjs+dts,mode=grpcwebtext:./src/gen

さまざまなことを試しましたが、このツールでは期待どおりの出力が得られません。

4

1 に答える 1