quickjs-emscripten webassembly 包
quickjs-emscripten是基于emscripten将quickjs c 版本,编译为了webassembly 方便通过npm 使用
包含的特性
- 支持node以及web 使用
- 安全的执行js (支持到es2020)
- quickjs runtime 进行创建以及维护值
- 暴露主机函数到quickjs runtime
- 通过asyncify 支持执行异步代码
参考使用
- app.mjs
import { getQuickJS } from "quickjs-emscripten"
async function main() {
const QuickJS = await getQuickJS()
const vm = QuickJS.newContext()
const world = vm.newString("world")
vm.setProp(vm.global, "NAME", world)
world.dispose()
const result = vm.evalCode(`"Hello " + NAME + "!"`)
if (result.error) {
console.log("Execution failed:", vm.dump(result.error))
result.error.dispose()
} else {
console.log("Success:", vm.dump(result.value))
result.value.dispose()
}
vm.dispose()
}
main()
- 运行效果
说明
因为quickjs webassembly 是基于了emscripten ,所以使用的时候需要注意资源释放,同时从上边代码也可以看出需要随时进行相关资源的释放
参考资料
https://github.com/justjake/quickjs-emscripten
https://www.npmjs.com/package/quickjs-emscripten
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2022-02-02 actionherojs 生产部署说明
2022-02-02 actionherojs 强大的nodejs api 框架
2022-02-02 基于juicefs +s3 开发简单的多租户git 服务
2022-02-02 使用juicefs 解决基于s3做为git 存储的问题
2021-02-02 cube.js playground暴露的几个不错的功能
2021-02-02 cube.js 生产集成使用的几点说明
2021-02-02 cube.js 上线文 filter 处理的原理