Cargo 构建未在 wasm 项目上生成 pkg 目录

Cargo build not generating the pkg directory on wasm project

如标题所述,cargo build 无法生成 pkg 目录。我正在学习一个教程,在该教程中我 运行 命令 cargo build --target wasm-unknown-unknown 运行 没问题,我在那里没有收到任何错误。然后在我的 index.js 文件中,我需要使用以下语句导入 wasm 文件:import './pkg/rust_3d_demo'。但是 运行 执行 cargo build 命令后没有生成 pkg 目录。 Doug Milford 先生在 youtube 上的教程只有 3 天,所以这里没有版本问题,我的 rustc 和 rustup 以及 cargo 都是最新的。对此事有什么想法吗?非常感谢。

这是我的 Cargo.toml 文件:

[package]
name = "rust-3d-demo"
version = "0.1.0"
authors = ["Steel"]
edition = "2018"

[lib]
crate-type = ["cdylib"]

[dependencies]
console_error_panic_hook = "=0.1.5"
js-sys = "0.3.19"
lazy_static = "1.3.0"
nalgebra = "0.18.0"
wasm-bindgen = "0.2.44"

[dependencies.web-sys]
version = "0.3.4"

features = [
'Document',
'Element',
'EventTarget',
'HtmlCanvasElement',
'MouseEvent',
'WebGlBuffer',
'WebGlProgram',
'WebGlRenderingContext',
'WebGlShader',
'WebGlUniformLocation',
'Window'
]

以及我的 package.json 文件中的 devDependencies 部分:

"devDependencies": {
"@wasm-tool/wasm-pack-plugin": "^1.1.0",
"html-webpack-plugin": "^3.2.0",
"text-encoding": "^0.7.0",
"webpack": "^4.41.5",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.10.1"
}

其他可能有帮助的信息:

rustc --version => 生锈 1.40.0 (73528e339 2019-12-16)

rustup --version => 生锈 1.21.1

cargo --version => 货物 1.40.0

您通过 webpack.config.js 以这种方式使用 wasm-build

  1. wasm-pack-plugin导入配置文件 const WasmPackPlugin = require("@wasm-tool/wasm-pack-plugin");
  2. 在插件部分添加一个新实例: new WasmPackPlugin({ crateDirectory: path.resolve(__dirname, ".") }) 在此之后生成 pkg 目录:)