Javascript 定义proto中的所有字段?它可以忽略未定义的字段吗?

Javascript 定义proto中的所有字段?它可以忽略未定义的字段吗?,javascript,node.js,protocol-buffers,grpc,Javascript,Node.js,Protocol Buffers,Grpc,我正在跟随来自的教程 我想测试grpc如何处理来自协议缓冲区的未定义字段,因此我修改了第74行,以返回一个附加字段test feature = { name: name, location: point, test: 'test' }; return feature; } 然后我在客户端遇到了这个错误 {错误:.routeguide.Feature#测试不是字段:未定义 这是预期的行为吗?在我的理解中,未知字段不应该被序列化,而应该抛出错误?Protobuf只

我正在跟随来自的教程

我想测试grpc如何处理来自协议缓冲区的未定义字段,因此我修改了第74行,以返回一个附加字段
test

feature = {
    name: name,
    location: point,
    test: 'test'
  };
  return feature;
}
然后我在客户端遇到了这个错误
{错误:.routeguide.Feature#测试不是字段:未定义


这是预期的行为吗?在我的理解中,未知字段不应该被序列化,而应该抛出错误?

Protobuf只在反序列化而不是序列化时删除字段。如果让客户端和服务器使用同一个proto的版本稍有不同,您可以更清楚地看到差异。客户端应该ld包含测试字段,但服务器不应包含