我正在嘗試創建一個使用 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 關注
- 407 瀏覽
添加回答
舉報
0/150
提交
取消