1 个不稳定版本
0.1.0 | 2023 年 4 月 19 日 |
---|
#21 在 #source-map
41KB
563 行
Cargo WASM 源映射工具
生成浏览器支持的源映射,用于包含 DWARF 调试信息的 WASM 二进制文件,并将其与 WASM 二进制文件关联,以便在浏览器中加载时,您可以在调试面板和控制台看到 rust 行、字符和源代码(如果可用)。
注意:可以构建不包含不安全代码的版本(唯一的不安全代码与使用 memmap2 包有关)。
之前
之后
使用方法
- 使用 Cargo 手动预处理您的 WASM 二进制文件,然后再提供服务
cargo install cargo-wasm2map
# Build your WASM binary the way you usually do
cargo build --target wasm32-unknown-unknown
# Generate sourcemap for the target WASM (replace myproject with your project
# name).
cargo wasm2map target/wasm32-unknown-unknown/debug/myproject.wasm \
-patch -base-url https://127.0.0.1:8080
# Serve the WASM to your browser... (i.e. https://127.0.0.1:8080 or wherever
# your index.html is)
- 将其作为库用于您的工具
use wasm2map::WASM;
let mapper = WASM::load("/path/to/the/file.wasm");
if let Ok(mut mapper) = mapper {
let sourcemap = mapper.map_v3();
mapper.patch("https://127.0.0.1:8080").expect("Failed to patch");
}
当前限制
- 目前它不将源代码打包到源映射中,因此在浏览器中无法进行源代码浏览
贡献
欢迎您的贡献,特别是错误报告和在各种平台上的测试。如果您能提供修复方案,请随时提交 PR。
如果您想贡献 API 变更、扩展或新的特性和实现,请首先提交问题并讨论,然后再开始 PR 的工作。有关详细信息,请阅读 CONTRIBUTING.md 文件。
许可证
根据您的选择,许可协议为 Apache 许可证版本 2.0 或 MIT 许可证。除非您明确表示否则,您有意提交给本软件包的任何贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,不附加任何额外条款或条件。
SPDX-许可证-标识符:Apache-2.0 或 MIT
依赖项
~9.5MB
~205K SLoC