I'm on [email protected] /cdn-cgi/l/email-protection
我正在尝试使用这个网络程序集库https://github.com/vislyhq/stretch https://github.com/vislyhq/stretch根据文档,我正在从中导入一些类,即
import { Allocator, Node } from 'stretch-layout';
class Base {
public layoutNode;
public constructor() {
this.layoutNode = new Node(allocator, {});
}
}
但是,当我尝试使用 webpack 构建它时(不使用任何加载器,并且我有.wasm
in my resolve.extensions
webpack 配置)我收到以下错误
WebAssembly 模块包含在初始块中。这是不允许的,
因为 WebAssembly 下载和编译必须异步进行。
在您的之间的某个位置添加一个异步分割点(即 import())
入口点和 WebAssembly 模块:
据我了解,我需要使用import()
对于这个模块,但是如何使这些导入可供我的班级使用?申请会失败,因为我们需要等待导入?如果我这样做,我会收到一条错误消息Allocator
and Node
不是构造函数。
let Allocator: any = null;
let Node: any = null;
import('stretch-layout').then(module => {
Allocator = module.Allocator;
Node = module.Node;
});
我能够使用 webpack 5 的最新测试版解决这个问题,通过在配置中添加以下实验标志
experiments: {
asyncWebAssembly: true,
importAsync: true
}
这样你就不必担心任何异步import()
完全的陈述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)