请教个问题,为啥我下面的代码编译成wasm后(xx.js和xx_bg.wasm),HTML引入编译后的文件,alert是可以弹出的,就是下面的文件操作的代码报错了,但是不知道原因,求教。
报错:Uncaught (in promise) RuntimeError: unreachable
// main.rs
extern crate wasm_bindgen;
use wasm_bindgen::prelude::*;
use std::fs;
#[wasm_bindgen]
extern {
pub fn alert(s: &str);
pub fn winConsoleLog(s: &str);
}
#[wasm_bindgen]
pub fn greet(name: &str) {
alert(&format!("Hello, {}!", name));
let text=fs::read_to_string("D:\\text.txt").unwrap();
winConsoleLog(&format!("{}", text));
fs::write("D:\\text.txt", name).unwrap();
}
// Cargo.toml
......
[lib]
crate-type = ["cdylib"]
path = "src/main.rs"
[dependencies]
wasm-bindgen = "0.2"
wasm 要能访问本地文件系统那不乱套了吗,谁还敢打开网页
unsupported
web上操作文件必然是 js api 获取到内容后传给wasm模块,你可以考虑使用stdweb