我正在尝试创建一个使用 golang REST API 服务器的 Angular 应用程序。有一些业务逻辑是用前端使用的打字稿编写的。其中一些需要在后端使用。为了避免在 golang 中编写相同的逻辑,我想知道是否可以在 golang 中运行打字稿代码?我发现 SWIG 在 golang 中运行 C++ 代码,但我没有找到任何用于打字稿的东西。我知道我可以使用 web assembly 或其他工具在 Angular 中运行 golang 代码,但我不允许在 golang 中编写这些代码。
2 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
您可以使用MetaCall,这是一个提供跨语言外部函数接口的库,我多年来一直在研究它。基本上,它允许您从 Go 调用 TypeScript 函数,而无需使用 WebAssembly。这些调用是在同一进程中完成的,因此您仍然可以获得良好的性能并使用标准 TypeScript 而不是该语言的子集。
通过这种方法,您可能可以创建一个公共存储库或 npm 包,将 TypeScript 逻辑作为库,然后同时将其导入前端和后端。
眼眸繁星
TA贡献1873条经验 获得超9个赞
您可以在AssemblyScript (TypeScript 的严格子集)中编写重复的逻辑,将其编译为 WebAssembly,然后使用Wasmer等运行时在 Go 中运行它。
请记住,AssemblyScript 仍在开发中。
- 2 回答
- 0 关注
- 268 浏览
添加回答
举报
0/150
提交
取消