Otto已加载js文件错误:(匿名):第1行:59374无效正则表达式:RE2:无效(?=) (还有1个错误)
包含主代码
vm := otto.New()
vm.Set("require", require)
val,err := vm.Run(`
require("raphael.js");
`)封闭Load方法
func require(call otto.FunctionCall) otto.Value {
file := call.Argument(0).String()
fmt.Printf("requiring: %s\n", file)
data, err := ioutil.ReadFile(file)
if err != nil {
fmt.Println(err)
panic(err)
}
_, err = call.Otto.Run(string(data))
if err != nil {
fmt.Println(err)
panic(err)
}
return otto.TrueValue()
}Js文件地址(本地保存)
http://index.baidu.com/static/js/raphael.js
发布于 2016-07-25 16:58:44
出现这个问题是因为otto不完全支持正则表达式。
在奥托的文件里,他们说:
(?=) // Lookahead (positive), currently a parsing error
(?!) // Lookahead (backhead), currently a parsing error
\1 // Backreference (\1, \2, \3, ...), currently a parsing errorhttps://github.com/robertkrimen/otto#regular-expression-incompatibility
https://stackoverflow.com/questions/37717341
复制相似问题