Go no pudo llamar a la función JavaScript porque el búfer se introdujo en el código JavaScript
secreto.js
import Buffer from 'buffer' var Q = function(e) { return new Buffer("asdfl") };principal.ir
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()) }consejos de error
(anonymous): Line 1:1 Unexpected reserved word
otto solo implementó Javascript ES5 mientras que la import es una característica de ES6, por lo que no podría usar la import en su código JS.
actualización: puede seguir esta publicación para implementar su propio método require