首页 > 解决方案 > protobuf.js 如何为浏览器生成静态 es6 模块?

问题描述

我的 example.html 包含

...
<script src="//cdn.rawgit.com/dcodeIO/protobuf.js/6.8.8/dist/minimal/protobuf.js"></script>
<script type="module">
  import {Task} from "./task.pb.js"
  const msg = Task.create({text: 'test', done: false})
  const bin  = Task.encode(msg).finish()
  console.log(Task.decode(bin))
</script>
...

我的原型文件看起来像这样

syntax = "proto3";

import "google/protobuf/any.proto";

package main;

message Task {
    string text = 1;
    bool done = 2;
}

message Test {
    google.protobuf.Any object = 1;
}

试图像这样构建静态模块

pbjs -p . task.proto -t static-module --es6 -w es6 -o task.pb.js

但这似乎并没有生成浏览器可以理解的模块?

标签: javascriptprotobufjs

解决方案


推荐阅读