Go failed to call JavaScript function because the buffer was introduced into JavaScript code
secret.js
import Buffer from 'buffer'
var Q = function(e) {
return new Buffer("asdfl")
};
main.go
func main() {
jsFile := "./secret.js"
bytes, err := ioutil.ReadFile(jsFile)
if err != nil {
panic(err)
}
vm := otto.New()
_, err = vm.Run(string(bytes))
if err != nil {
panic(err)
}
enc, err := vm.Call("Q", nil, "123456")
if err != nil {
panic(err)
}
fmt.Println(enc.String())
}
error tips
(anonymous): Line 1:1 Unexpected reserved word