grp c -web: импорт из другого (npm) проекта - PullRequest
0 голосов
/ 26 марта 2020

У меня есть два проекта с файлом .proto, и один импортирует другой. Оба проекта поддерживаются и составляются отдельно. Настройка выглядит следующим образом:

domain project:
|-- company
    `-- domain
        `-- domain.proto

service project:
|-- company
    `-- service
        `-- service.proto
// domain.proto
syntax = "proto3";

message User {
    string name = 1;
}
// service.proto
syntax = "proto3";

import company/domain/domain.proto

message Ping {
    domain.User user = 1;
}

Я могу скомпилировать company/service/service.proto, используя protoc /company/service/service.proto, но полученный файл. js пытается импортировать из папки в той же папке (npm) проект:

var company_domain_domain_pb = require('../../company/domain/domain_pb.js');

Но domain устанавливается как отдельный npm пакет. Почему-то мне кажется, что мне нужно скомпилировать оба .proto файла одновременно, чтобы grp c -web правильно установил путь. Это отличается от компилятора Python grp c, который генерирует отдельные библиотеки, которые я могу pip install отдельно. Я просто должен убедиться, что импортировал обе библиотеки в случае Python. Я ожидал что-то похожее с компилятором JavaScript. Каков наилучший способ добиться этого?

...