在打字稿中,我使用了这样的平面缓冲区:
import {flatbuffers} from 'flatbuffers';
const builder = new flatbuffers.Builder(1);
然后我编译成js以与反应原生一起使用:
const flatbuffers_1 = require("flatbuffers");
const builder = new flatbuffers_1.flatbuffers.Builder(1);
但我得到错误:
undefined is not an object (evaluating 'new flatbuffers_1.flatbuffers.Builder')
发生什么事了?
不是直接的解决方案,但我使用的是更现代的方法/ES6导入,当我执行以下操作时,它工作正常:
import {flatbuffers} from "flatbuffers";
const builder = new flatbuffers.Builder(6000);
// ...
虽然我不得不将生成的类中的代码生成输出从 import * as flatbuffers from 'flatbuffers';
修改为 import {flatbuffers} from 'flatbuffers';