#wasm-js #inline #js #build-script #embed-js #javascript

embed_js_build

针对通过 wasm32-unknown-unknown 目标针对 WebAssembly 的 Rust 应用程序的简约轻量级内联 JavaScript。这是构建脚本的 crate。有关 js 宏本身,请参阅 embed_js。

5 个版本

使用旧的 Rust 2015

0.1.4 2017 年 12 月 21 日
0.1.3 2017 年 12 月 18 日
0.1.2 2017 年 12 月 17 日
0.1.1 2017 年 12 月 17 日
0.1.0 2017 年 12 月 17 日

#13 in #wasm-js

29 每月下载量

MIT/Apache

27KB
456

embed_js

针对通过 wasm32-unknown-unknown 目标针对 WebAssembly 的 Rust 应用程序的简约轻量级内联 JavaScript。

该项目提供了一种低级接口,专为其他 crate 设计,以在顶部构建更高级、更易于使用的 API。

入门

尝试运行示例(在 examples 子目录中),以了解各个部分如何组合。

要构建 wasm 应用程序,请确保您已安装最新的 Rust 夜间版本和 wasm32-unknown-unknown 目标。

设置示例

示例需要安装 cargo-makecargo-scriptwasm-gc

在示例目录中,确保您已设置 rustup 以使用夜间 Rust 构建。

使用 cargo make 构建示例,这将确保运行后构建脚本。生成的自包含 HTML 文件应在 "target/wasm32-unknown-unknown/release/" 中,并且可以在支持 WebAssembly 的浏览器中运行。

根据示例,您可能需要检查浏览器中的控制台日志(F12)以查看其输出。

一般用法

有两个 crate 可用。用于使用 js 宏来嵌入 JavaScript 的 embed_js。应该使用 embed_js_build 作为这些 crate 构建脚本中的预处理阶段。也应该使用 embed_js_build 的应用 crate,它们在其 -构建脚本中构建 wasm 二进制文件,以便在加载 wasm 模块时导入生成的伴随 JavaScript。

有关更详细的用法信息,请参阅两个 crate 的文档,或查看此存储库中的示例。

embed_js 文档

embed_js_build 文档

[dependencies]
embed_js = "^0.1.4"
[build-dependencies]
embed_js_build = "^0.1.4"

限制

目前,js 宏不能在其他宏内使用,除了 include! 宏。这可能在将来得到修复。

许可证

根据以下之一许可:

由你选择。

贡献

除非你明确声明,否则根据Apache-2.0许可证定义的,任何有意提交以包含在你的工作中的贡献,都应如上所述双重许可,不附加任何额外条款或条件。

依赖关系

~4.5MB
~88K SLoC