#wasm-edge #run-time #extension #tensorflow #own #js #http

bin+lib wasmedge_quickjs

为 WasmEdge 创建您自己的 JavaScript 运行时和扩展 API

1 个不稳定版本

0.2.0 2021 年 10 月 7 日

#895 in WebAssembly

MIT/Apache

1.5MB
4.5K SLoC

包含 (静态库,1MB) lib/libquickjs.a

在 WebAssembly 中运行 JavaScript

现在支持在 JavaScript 程序中使用 wasmedge Socket 和 Tensorflow!

先决条件

安装 Rustwasmedge CLI 工具。如果您想尝试下面的 Tensorflow 示例,请确保使用 -e all 选项安装 WasmEdge Tensorflow 扩展。

rustup target add wasm32-wasi

Hello js

构建

$ cargo build --target wasm32-wasi --release

运行

$ cd example_js
$ wasmedge --dir .:. ../target/wasm32-wasi/release/wasmedge_quickjs.wasm hello.js WasmEdge Runtime

HTTP 请求

构建

$ cargo build --target wasm32-wasi --release

运行

附加内容:此示例还展示了如何将另一个 JavaScript 文件导入当前程序。

$ cd example_js
$ wasmedge --dir .:. ../target/wasm32-wasi/release/wasmedg_quickjs.wasm http_demo.js

TensorFlow

构建

注意:使用 WasmEdge Tensorflow 扩展构建 QuickJS 解释器。

$ cargo build --target wasm32-wasi --release --features=tensorflow

运行

$ cd example_js/tensorflow_lite_demo
$ wasmedge-tensorflow --dir .:. ../../target/wasm32-wasi/release/wasmedge_quickjs.wasm main.js

可选:获取静态库 & binding.rs

如果您想构建一个自定义的 libquickjs.a 以导出一些静态 C 函数。

参见 [quickjs-wasi]

run quickjs-wasi/lib/build.sh

依赖项

~17MB
~159K SLoC