【发布时间】:2018-11-14 16:33:25
【问题描述】:
我正在使用 rust 和 webassembly。我收到此错误消息operation not supported on wasm yet。所以两件事中的任何一件都在发生,我很好奇是否有人知道答案。所以要么我的文件路径不正确,这是最没有帮助的错误消息,要么 wasm 不支持加载文件。
#[wasm_bindgen]
#[macro_use]
pub fn file() -> () {
let mut data: Vec<u8> = Vec::new();
///I would load the png with the same path in my javascript.
let opened = File::open("./png/A_SingleCell.png");
let unwraped = match opened {
Ok(a) => log(&format!("opened {}", "worked")),
Err(e) => log(&format!("{}", e)),
};
// .read_to_end(&mut data)
// .unwrap();
return ();
}
#[wasm_bindgen]
extern "C" {
#[wasm_bindgen(js_namespace = console)]
fn log(msg: &str);
}
而 javascript 调用只是 file()。
我需要使用不同的目录路径来获取 png 还是真的不加载文件?
编辑 添加我的 index.js 以显示 webpack 已经加载了 png。
import { memory } from "break-game/break_game_bg";
import A from './png/A_SingleCell.png';
import { alloc, fill, decode, file } from "break-game";
file();
【问题讨论】:
-
浏览器无法直接加载文件。您需要使用 AJAX。
-
该文件已经打包并随 webpack 一起发布
-
标签: javascript rust webassembly