Jac*_*lin 6 typescript webassembly assemblyscript
我正在尝试使用 Assemblyscript 将 TypeScript 编译为 WebAssembly,并且尝试从 WebAssembly 导出一个类,以便可以在 JavaScript 中使用它。为了澄清,我希望能够在 .js 文件中构造该类的新实例,即使该类是在 .wasm 中定义的。
我做了一些研究和实验,似乎 Assemblyscript 会将类方法导出为函数,而不是将类作为一个整体导出。
这就是我希望它在 WebAssembly 端的外观:
export class Point {
public x: i32;
public y: i32;
constructor(x: i32, y: i32) {
this.x = x;
this.y = y;
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我想在 JavaScript 方面完成的任务:
// Omitted code for instatiating the Wasm Module
var exports = object.instance.exports; // The exports of the Wasm instance
var Point = exports.Point; // The Point class
let point = new Point(0, 0) // Construct a new Point
Run Code Online (Sandbox Code Playgroud)
所以我想知道是否有人知道实现此(或至少类似)功能的方法?
WebAssembly 有一个非常基本的类型系统,只有四种数字类型。为了将字符串等最基本的类型编译为 WebAssembly,需要创建相当多的“粘合代码”(对于字符串,数据通过线性内存交换)。
要实现您所描述的目标是可能的,但需要创建更多 AssemblyScript 当前能够生成的“粘合代码”。
| 归档时间: |
|
| 查看次数: |
1732 次 |
| 最近记录: |