首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在go中使用typescript

问如何在go中使用typescript
EN

Stack Overflow用户
提问于 2019-10-15 23:38:05
回答 2查看 2.5K关注 0票数 0

我正在尝试创建一个使用golang REST API服务器的Angular应用程序。有一些业务逻辑是用前端使用的typescript编写的。其中一些需要在后端使用。为了避免用golang编写相同的逻辑,我想知道是否有可能在golang中运行typescript代码?我发现SWIG可以在golang中运行C++代码,但我没有找到任何typescript。我知道我可以使用webassembly或其他工具在Angular中运行golang代码,但我不允许用golang编写这些代码。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-18 07:47:01

您可以在AssemblyScript ( TypeScript的严格子集)中编写复制的逻辑,将其编译为WebAssembly,然后使用Wasmer等运行时在Go中运行它。

但请记住,AssemblyScript仍处于开发阶段。

票数 2
EN

Stack Overflow用户

发布于 2020-08-25 03:25:29

您可以使用MetaCall,这是一个提供跨语言外国函数接口的库,我在这几年中一直在研究它。基本上,它允许您在不使用WebAssembly的情况下从Go调用TypeScript函数。这些调用都是在相同的过程中完成的,因此您仍然可以获得良好的性能,并使用标准TypeScript而不是该语言的子集。

TypeScript支持仍在开发中,但您可以看到一个从Go here调用TypeScript函数的工作示例。

使用这种方法,您可能可以使用TypeScript逻辑创建一个公共存储库或npm包作为库,然后同时将其导入前端和后端。

您可以在this instructions之后安装MetaCall。安装后,您可以使用以下命令在Go项目中导入npm包:

代码语言:javascript
复制
metacall npm install your-package

或者使用git将其添加为sub-module。

稍后,您可以像在example中一样导入TypeScript库。你不需要转换它,MetaCall会处理它的。记住在Go代码中使用import MetaCall并运行go mod tidy。

需要提醒的是,该示例手动编译MetaCall,安装脚本下载一个预先构建的版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58398287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档