簡體   English   中英

如何使用 Protobuf 生成的類作為 TypeScript 的類型?

[英]How to use Protobuf generated classes as types with TypeScript?

抱歉,如果這是基本的,但我是 TypeScript 的新手並且想知道......假設我生成了一個名為的 Protobuf .js文件

request_pb.js

而且我想在傳遞一個值時將生成的類之一合並為 TypeScript 類型,例如類似於...


const req = require('../build/gen/request_pb');

/**
 * check if incoming request is valid
 * @param data
 */
function validateRequest(data: req.Request) { // TODO: how to include type information?
    return data.hasStartDateEt() && data.hasEndDateEt();
}

我目前正在

“找不到命名空間‘req’”

這到底是什么意思,我該怎么辦?

我將 TypeScript 定義文件生成到相同的構建目錄中

$ protoc --proto_path=schemas --js_out=import_style=commonjs,binary:build/gen --ts_out=build/gen schemas/*.proto schemas/enums/*.proto 

ts-protoc-gen package ( https://www.npmjs.com/package/ts-protoc-gen )。

然后我可以使用導入類型

import account_statement_req from '../build/gen/account_statement_request_pb';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM