Typescript 由于';的原因,无法使用web部件rust impl;无法访问'__wbindgen#u-throw';初始化前';错误

Typescript 由于';的原因,无法使用web部件rust impl;无法访问'__wbindgen#u-throw';初始化前';错误,typescript,webpack,rust,web-component,webassembly,Typescript,Webpack,Rust,Web Component,Webassembly,我正在尝试向我的项目中添加一些web程序集。一开始,我创建了一个简单的方法来检查我的网页是否运行良好,是否可以使用我的.wasm模块。所以我创造了这样的东西: #[wasm#u bindgen] pub fn return_char()->char{ 返回“a”; } 然后我在我的web组件的内部构造函数中使用了这个(只是为了检查一切是否正常): constructor(){ 超级(); this.attachShadow({mode:'open'}); this.shadowRoot.inn

我正在尝试向我的项目中添加一些web程序集。一开始,我创建了一个简单的方法来检查我的网页是否运行良好,是否可以使用我的
.wasm
模块。所以我创造了这样的东西:

#[wasm#u bindgen]
pub fn return_char()->char{
返回“a”;
}
然后我在我的web组件的内部构造函数中使用了这个(只是为了检查一切是否正常):

constructor(){
超级();
this.attachShadow({mode:'open'});
this.shadowRoot.innerHTML=模板;
log(return_char());
}
这正如我在我的web应用程序控制台中看到的
'a'
所预期的那样工作:

然后,当我看到一切正常时,我创建了带实现的struct:

#[wasm#u bindgen]
pub结构测试{
值:char
}
#[瓦斯穆宾根]
impl试验{
pub fn new()->测试{
let值:char='a';
试验{
价值
}
}
发布fn值(&self)->char{
自我价值
}
发布fn更改值(&mut self){
self.value='b';
}
}
然后在同一web组件类构造函数中添加
Test
的创建实例,并调用该
Test
impl的方法。我想我应该在控制台中看到
'a'
'b'

constructor(){
超级();
this.attachShadow({mode:'open'});
this.shadowRoot.innerHTML=模板;
常量测试:test=test.new();
console.log(test.value());
测试。更改_值();
console.log(test.value());
}
但这并没有发生,我只看到了这个错误:

未捕获(承诺中)引用错误:在模块初始化之前无法访问“\uuuwBindGen\uThrow”。\uuuuwBindGen\uThrow(calculator\uEngine\uBG.js:5)

我不知道我为什么会出现这个错误,以及如何修复这个错误。我的
webpack.config.js
可能有问题

const path=require('path');
const HTMLWebpackPlugin=require('html-webpack-plugin');
module.exports={
模式:"发展",,
devtool:“评估源地图”,
条目:'./src/index.ts',
输出:{
文件名:“bundle.js”,
path:path.resolve(uu dirname,'dist'),
},
实验:{
asyncWebAssembly:true
},
模块:{
规则:[
{
测试:/\.ts$/,,
使用“ts加载器”,
包括:[path.resolve(uu dirname,'src')],
},
],
},
决心:{
扩展名:['.ts','.js'],
},
开发服务器:{
contentBase:path.join(uu dirname,'dist'),
},
插件:[
新HTMLWebpackPlugin({
模板:path.resolve(uu dirname,'src/index.html'),
文件名:“index.html”,
}),
],
};
GitHub存储库,只需最少的代码即可复制:

网页包版本:5.0.0-beta.26

正如索克拉在他的回答中提到的,我就是在他的回答中创造的。我应该使用
实验.syncWebAssembly
而不是
实验.asyncWebAssembly
。如果我使用这个
experiments.syncWebAssembly
我必须添加额外的文件,该文件将异步加载
index.ts
文件

webpack.config.js

module.exports={
模式:"发展",,
devtool:“评估源地图”,

条目:'./src/bootstrap.ts',/!!您能创建一个演示问题的示例吗?当我使用
create wasm app
项目尝试时,您的示例代码运行良好。@Herohtar我添加了。您是否遵循了这些步骤,但仍然没有看到任何错误?
syncWebAssembly
现在已被弃用:(@kigawas
syncWebAssembly
未被弃用。有关此实验功能的详细信息,您可以在此处找到。到目前为止,这仍然是一个问题。任何后续操作或修复?将网页包设置为syncWebAssembly会导致另一个问题。@iismail您遇到了什么问题?您是否尝试过我创建的模板?