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
:
- 将
wasm-pack-plugin
导入配置文件
const WasmPackPlugin = require("@wasm-tool/wasm-pack-plugin");
- 在插件部分添加一个新实例:
new WasmPackPlugin({ crateDirectory: path.resolve(__dirname, ".") })
在此之后生成 pkg 目录:)
如标题所述,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
:
- 将
wasm-pack-plugin
导入配置文件const WasmPackPlugin = require("@wasm-tool/wasm-pack-plugin");
- 在插件部分添加一个新实例:
new WasmPackPlugin({ crateDirectory: path.resolve(__dirname, ".") })
在此之后生成 pkg 目录:)