Goja 完全用Go编写的JS引擎
Goja 是一个完全用 Go 编写的 ECMAScript 5.1/JavaScript 引擎,它侧重于标准遵从性和性能。Goja 使得开发者能够在纯 Go 项目中执行 JavaScript 代码,以此来解决 Go 和 JavaScript 间的通信难题。
该项目由 otto 启发,但在执行效率和 ES5.1 特性支持上做了大量的提升和完善。Goja 不仅支持 ECMAScript 5.1 标准,包括正则表达式和严格模式,还实现了部分 ES6 的功能,并且正在努力实现对更多 ES6 功能的支持。此外,Goja 还支持 sourcemaps,能够运行 Babel、TypeScript 编译器等 ES5 编写的工具。
如何使用
首先需要确保你的环境中已安装 Go 1.20 或更高版本。然后,通过以下 Go 命令安装 Goja:
go get github.com/dop251/goja
安装完成后,你可以开始在项目中使用 Goja 来执行 JavaScript 代码了。下面是一个简单的示例,展示如何执行一段 JavaScript 代码并获取结果:
const SCRIPT =`function sum(a, b) { return +a + b;}`vm := goja.New()_, err := vm.RunString(SCRIPT)if err !=nil{ panic(err)}sum, ok := goja.AssertFunction(vm.Get("sum"))if!ok { panic("Not a function")}res, err := sum(goja.Undefined(), vm.ToValue(40), vm.ToValue(2))if err !=nil{ panic(err)}fmt.Println(res)// Output: 42
项目推介
Goja 项目适用于需要在 Go 环境下执行 JavaScript 代码的各种场景,比如用作脚本引擎、实现动态功能等。由于是纯 Go 实现,Goja 避免了 cgo 的依赖和开销,使得构建和跨平台部署变得更加简单,无论是在 Linux、Windows 还是 MacOS 系统上。此外,Goja 正在积极地实现部分 ES6 功能,对于追求新技术的开发者来说,使用 Goja 将使你始终站在技术的前沿。
以下是该项目 Star 趋势图(代表项目的活跃程度):
更多项目详情请查看如下链接。
开源项目地址:https://github.com/dop251/goja
开源项目作者:dop251
关注公众号:拾黑(shiheibook)了解更多
赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- Frpc Desktop内网穿透工具免费开源 / 桌面客户端 / 开机启动
- 中美AI差距到底多大?周鸿祎回应
- 英镑兑换人民币汇率2023年8月29日
- 光纤是“空心”的,但微软却很“实在”
- 几何、色彩与线条,佳能EOS R5的极简城市摄影
- Win11已原生支持iCloud,Apple照片可一键同步和管理了
- 6月VR大数据:Quest 2份额超49%,SteamVR修正上月波动
- 点击领取你的企业“绿马通行证”
- 工业软件:云上很美,上云很难
- 刚刚!神舟十二号发射成功!中国宇航员再次征战太空!
- 华为拿下支付牌照;共享充电宝又集体涨价;小米11 青春版率先搭载骁龙780G|Do早报
- 抖音被约谈背后,直播内容分级制度可行吗?