问题描述
最近在尝试使用 trunk 框架开发 wasm 应用。最终代码可以成功构建并运行。
但是 vscode 中的 rust analyze 总是会给出类似如下错误的 API 缺失提示。
猜测是其没有识别到我构建的 target 为 wasm32,依旧为 Linux/Unix 平台,导致其中的 web 相关 API 被禁用
报错 1:
unresolved import `web_sys::HtmlCanvasElement`
no `HtmlCanvasElement` in the root
报错 2:
no variant or associated item named `Canvas` found for enum `SurfaceTarget` in the current scope
variant or associated item not found in `SurfaceTarget<'_>`
解决方式
vscode 中建立工作区,并在生成的 .code-workspace 文件中添加如下段落,显式指明构建 target
"settings": {
"rust-analyzer.cargo.target": "wasm32-unknown-unknown"
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于