【发布时间】:2018-07-21 23:42:24
【问题描述】:
我使用
创建了一个cdylib 类型的 Rust 库
cargo web build --target=wasm32-unknown-unknown
我使用“rust-wasm-loader”NPM 包的修改版本来构建和加载 WASM 文件。 rust-wasm-loader 以此作为使用 Rust 代码的一种方式:
const wasm = require('./main.rs')
wasm.initialize().then(module => {
// Use your module here
const doub = module.cwrap('doub', 'number', ['number'])
console.log(doub(21))
})
我不想每次使用代码时都初始化模块。如何加载模块并像库一样使用它?
【问题讨论】:
-
你可以捕获对模块的引用作为全局变量吗?你不需要任何复杂的东西,因为它是 WebAssembly
-
如果在加载/初始化 WebAssembly 模块之前使用组件时,您希望组件的行为是什么?我认为该解决方案将与您为支持代码拆分/异步组件所做的相同。我不了解 Vue,但我在 React 中使用过类似的技术。我支持“它并不特别,因为它是 WebAssembly”这一点。
标签: ecmascript-6 vue.js rust webassembly