Я экспериментировал с Rust / WebAssembly и создал свой первый пакет npm, следуя руководству Mozilla здесь: https://developer.mozilla.org/en-US/docs/WebAssembly/Rust_to_wasm. Я хотел пройти весь путь и попробовать разместить его для ударов на странице GitHub, но мне неясно, какие шаги необходимы для этого. Мне сказали, что вместо загрузки всех 400 элементов в мой каталог node_modules, GitHub будет генерировать все просто из моего package.json.
При этом я получаю сообщение об ошибке:
SyntaxError: dynamic module import is not implemented
в Firefox
и Uncaught (in promise) TypeError: Failed to resolve module specifier '@aquova/hello-wasm/hello_wasm.js'
в Chrome.
Это довольно ясно указывает на первую строку моего index.js
файла как проблему, но я не уверен, что вместо этого должно идти туда. Обратите внимание, что все работает нормально с локального хоста с установленными узлами node_modules, он просто запускает их со страницы GitHub, на которой я не уверен.
Пока мой код:
package.json
{
"scripts": {
"serve": "webpack-dev-server"
},
"dependencies": {
"@aquova/hello-wasm": "^0.1.0"
},
"devDependencies": {
"webpack": "^4.30.0",
"webpack-cli": "^3.3.2",
"webpack-dev-server": "^3.3.1"
}
}
webpack.config.js
const path = require('path')
module.exports = {
entry: "./index.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "index.js"
},
mode: "development"
}
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hello-wasm example</title>
</head>
<body>
<script src="./index.js"></script>
</body>
</html>
index.js
const js = import("@aquova/hello-wasm/hello_wasm.js") // this is probably the problem
js.then(js => {
js.greet("WebAssembly")
})
Спасибо!