[英]js import not finding wasm file
我正在努力從 rust 構建以下 wasm 示例:
我已經執行了
貨物建造
它解決了目標/調試/文件中的 libdom.d 和 libdom.so 文件。
應用程序以給定開始
npm 運行服務
但是當js嘗試在線導入wasm文件時它會拋出錯誤:
進口('./pkg/dom')
導致
> @ serve /home/kamil/projects/dom
> webpack-dev-server
🧐 Checking for wasm-pack...
ℹ️ Installing wasm-pack
ℹ 「wds」: Project is running at http://localhost:8080/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from /home/kamil/projects/dom
ℹ 「wdm」: wait until bundle finished: /
wasm-pack error: undefined
✖ 「wdm」: Hash: d6af309c4a2560e4a081
Version: webpack 4.36.1
Time: 21666ms
Built at: 07/18/2019 6:53:10 PM
Asset Size Chunks Chunk Names
index.html 226 bytes [emitted]
index.js 360 KiB main [emitted] main
Entrypoint main = index.js
[0] multi (webpack)-dev-server/client?http://localhost ./index.js 40 bytes {main} [built]
[./index.js] 133 bytes {main} [built]
[./node_modules/ansi-html/index.js] 4.16 KiB {main} [built]
[./node_modules/ansi-regex/index.js] 135 bytes {main} [built]
[./node_modules/html-entities/index.js] 231 bytes {main} [built]
[./node_modules/loglevel/lib/loglevel.js] 7.68 KiB {main} [built]
[./node_modules/strip-ansi/index.js] 161 bytes {main} [built]
[./node_modules/webpack-dev-server/client/index.js?http://localhost] (webpack)-dev-server/client?http://localhost 4.29 KiB {main} [built]
[./node_modules/webpack-dev-server/client/overlay.js] (webpack)-dev-server/client/overlay.js 3.51 KiB {main} [built]
[./node_modules/webpack-dev-server/client/socket.js] (webpack)-dev-server/client/socket.js 1.53 KiB {main} [built]
[./node_modules/webpack-dev-server/client/utils/createSocketUrl.js] (webpack)-dev-server/client/utils/createSocketUrl.js 2.77 KiB {main} [built]
[./node_modules/webpack-dev-server/client/utils/log.js] (webpack)-dev-server/client/utils/log.js 964 bytes {main} [built]
[./node_modules/webpack-dev-server/client/utils/reloadApp.js] (webpack)-dev-server/client/utils/reloadApp.js 1.63 KiB {main} [built]
[./node_modules/webpack-dev-server/client/utils/sendMessage.js] (webpack)-dev-server/client/utils/sendMessage.js 402 bytes {main} [built]
[./node_modules/webpack/hot sync ^\.\/log$] (webpack)/hot sync nonrecursive ^\.\/log$ 170 bytes {main} [built]
+ 18 hidden modules
ERROR in ./index.js
Module not found: Error: Can't resolve './pkg/dom' in '/home/kamil/projects/dom'
@ ./index.js 3:0-19
Child html-webpack-plugin for "index.html":
1 asset
Entrypoint undefined = index.html
[./node_modules/html-webpack-plugin/lib/loader.js!./index.html] 372 bytes {0} [built]
[./node_modules/lodash/lodash.js] 528 KiB {0} [built]
[./node_modules/webpack/buildin/global.js] (webpack)/buildin/global.js 472 bytes {0} [built]
[./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 497 bytes {0} [built]
ℹ 「wdm」: Failed to compile.
沒有./pkg/dom
文件夾。 我不知道如何生成它,也不知道里面應該有什么。
index.js 文件試圖import('./pkg')
不存在的import('./pkg')
。 您可以通過運行wasm-pack build
生成此文件夾。 這樣做之后,您應該有一個./pkg
文件夾,其中包含 wasm 二進制文件和 JS 包裝器代碼。 有關命令的更多信息,請參閱wasm-pack README 。
與 Rust 一起玩,很容易只調用cargo build
並期望它創建 wasm 二進制文件,但是 wasm-pack 實際上在幕后做了很多。 但最終, wasm-pack build
確實調用了cargo build 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.