我正在嘗試創(chuàng)建一個(gè)使用 golang REST API 服務(wù)器的 Angular 應(yīng)用程序。有一些業(yè)務(wù)邏輯是用前端使用的打字稿編寫的。其中一些需要在后端使用。為了避免在 golang 中編寫相同的邏輯,我想知道是否可以在 golang 中運(yùn)行打字稿代碼?我發(fā)現(xiàn) SWIG 在 golang 中運(yùn)行 C++ 代碼,但我沒有找到任何用于打字稿的東西。我知道我可以使用 web assembly 或其他工具在 Angular 中運(yùn)行 golang 代碼,但我不允許在 golang 中編寫這些代碼。
2 回答
慕沐林林
TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以使用MetaCall,這是一個(gè)提供跨語言外部函數(shù)接口的庫,我多年來一直在研究它?;旧?,它允許您從 Go 調(diào)用 TypeScript 函數(shù),而無需使用 WebAssembly。這些調(diào)用是在同一進(jìn)程中完成的,因此您仍然可以獲得良好的性能并使用標(biāo)準(zhǔn) TypeScript 而不是該語言的子集。
通過這種方法,您可能可以創(chuàng)建一個(gè)公共存儲(chǔ)庫或 npm 包,將 TypeScript 邏輯作為庫,然后同時(shí)將其導(dǎo)入前端和后端。
眼眸繁星
TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以在AssemblyScript?(TypeScript 的嚴(yán)格子集)中編寫重復(fù)的邏輯,將其編譯為 WebAssembly,然后使用Wasmer等運(yùn)行時(shí)在 Go 中運(yùn)行它。
請記住,AssemblyScript 仍在開發(fā)中。
- 2 回答
- 0 關(guān)注
- 464 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
