我正在尝试为npm库avsc创建一个外观。当我使用sbt fastOptJS::webpack
进行编译并打开.html文件时,我会从js库的that文件中的TypeError: this.buf.utf8Write is not a function
行获得this.buf.utf8Write(s, pos, len);
。它是从toBuffer
函数调用的。
使用外观的代码应该有效:
val schema = """{"type" : "record", "name": "Pet", "fields": [{"name": "name", "type": "string"}]}"""
val petType = avro.parse(schema)
val jsDict = js.Dictionary("name" -> "Tom")
println(petType.isValid(jsDict)) // prints 'true'
val buf = petType.toBuffer(jsDict)
另请查看整个project,它的代码非常少。
答案 0 :(得分:0)
解决方案:当使用webpack或browserify在客户端使用avsc时,必须使用require('avsc / etc / browser / avsc')。