gpt4 book ai didi

golang otto 加载JS报错

转载 作者:数据小太阳 更新时间:2023-10-29 03:27:06 26 4
gpt4 key购买 nike

Otto 加载 js 文件错误:(匿名):Line 1:59374 Invalid regular expression:re2:Invalid (? =)(还有 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

最佳答案

出现这个问题是因为otto不完全支持正则表达式。

在 otto 的文档中,他们说:

(?=)  // Lookahead (positive), currently a parsing error
(?!) // Lookahead (backhead), currently a parsing error
\1 // Backreference (\1, \2, \3, ...), currently a parsing error

https://github.com/robertkrimen/otto#regular-expression-incompatibility

关于golang otto 加载JS报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37717341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com