要将F#模块的公共函数公开给JavaScript,您需要使用F#的类型提供程序和WebAssembly技术。以下是一个简单的示例,说明如何实现这一点。
MyModule.fs
的文件,内容如下: module MyModule
let add x y = x + y
let subtract x y = x - y
MyModule.fs
的目录,然后运行以下命令:fsc --target:webassembly -o mymodule.js mymodule.fs
这将生成两个文件:mymodule.js
和mymodule.wasm
。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>F# WebAssembly Example</title>
</head>
<body>
<script src="mymodule.js"></script>
<script>
async function init() {
const wasmModule = await MyModule.default();
const { add, subtract } = wasmModule;
console.log(add(1, 2)); // 输出:3
console.log(subtract(5, 3)); // 输出:2
}
init();
</script>
</body>
<html>
在这个示例中,我们首先编译F#模块为WebAssembly,然后在HTML文件中引入生成的JavaScript文件。通过调用MyModule.default()
,我们可以获取到WebAssembly模块的实例,并访问其中的公共函数。
领取专属 10元无门槛券
手把手带您无忧上云