# #javascript #go
Вопрос:
Go не удалось вызвать функцию JavaScript, так как буфер был введен в код JavaScript
secret.js
import Buffer from 'buffer'
var Q = function(e) {
return new Buffer("asdfl")
};
главное.вперед
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())
}
советы по ошибкам
(anonymous): Line 1:1 Unexpected reserved word
Ответ №1:
отто реализовал только Javascript ES5, в то время import
как он отличается от ES6, поэтому вы не могли использовать import
его в своем JS-коде.
обновление: Вы можете следовать этому сообщению, чтобы реализовать свой собственный require
метод