我目前正在使用Emscripten将我们的C ++代码编译为Wasm。通过这样做,我输出了两个文件* .js和* .wasm。稍后,我将使用我们的实现,在将我们引向3个文件的基础上,编写更多Javascript代码:
index.js
wasmFile.js
wasmFile.wasm
我正在尝试使用webpack创建一个文件,该文件将在构建时而不是在运行时通过以下代码打包所有内容:
function loadScript(url = "wasmFile.js") {
var script = document.createElement( "script" );
script.src = url;
document.getElementsByTagName( "head" )[0].appendChild( script );
await new Promise<void>((res) => {
Module.onRuntimeInitialized = () => res();
});
}
我研究了https://github.com/ballercat/wasm-loader,但是,似乎我需要为我的所有功能创建一个WebAssembly.Instance-Wasm文件具有很多功能来为每个功能创建一个实例。
这是我们当前的WebPack配置的外观:
module.exports = {
entry: './src/index.ts',
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
},
{
test: /\.ts$/,
enforce: 'pre',
loader: 'tslint-loader',
options: {
emitErrors: true
}
}
]
},
resolve: {
extensions: ['.tsx', '.ts', '.js']
},
output: {
filename: 'index.js',
path: path.resolve(__dirname, 'dist')
}
};
在这方面我们缺少什么吗?或我可以用来完成此任务的另一个软件包?任何帮助都会很棒。
谢谢!