#local-storage #replace #fs #web-based #fs-file

localstoragefs

基于 localStorage 的 std::fs 替代方案

1 个不稳定版本

0.1.0 2019年5月29日

#6 in #web-based

Apache-2.0/MIT

7KB
69 行代码(不包括注释)

localstoragefs

使用 localStorage 的 Web-based std::fs 替代方案

旨在作为构建 wasm32-unknown-unknown HTML5 时的直接替换。例如,使用 cfg-if 以相同的 API 支持原生和 Web。

cfg_if! {
    if #[cfg(target_arch = "wasm32")] {
        use localstoragefs::fs;
    } else {
        use std::fs;
    }
}

然后像平常一样使用 fs::File。不是所有功能都受支持(欢迎贡献),但至少基本使用应该可以正常工作。请参考 examples/hello 以获取完整示例。

受 Emscripten 的文件系统支持(Rust 目标 wasm32-unknown-emscripten)的启发,但并不完整。文件以十六进制编码的数据存储为本地存储字符串值。可能不如其他替代方案高效。

依赖项

~3MB
~70K SLoC