如何在移动设备上将tsserver作为后台进程运行(即使用JavaScriptCore但不使用节点;避免使用基于Webview的解决方案)?

时间:2019-03-17 09:49:32

标签: typescript tsc javascriptcore

我为iOS开发了一个简单的JS文本编辑器应用程序;我想使用tsserver来获取智能和翻译。我可以看到如何通过节点或浏览器运行tsserver(作为TypeScript Playground的一部分,但是,它随Monaco编辑器一起提供,我希望它没有头,但我不会立即看到如何分开它们)。 / p>

要考虑的困难之一是它可能需要文件系统访问权限才能加载任何TypeScript库(我将使用许多自定义库来加载它)–我不确定如何用纯JavaScriptCore优雅地解决这个问题解决方案。

有没有一种方法可以将tsserver设置为可在移动设备上运行,并且理想情况下无需涉及Web视图(因为这是不必要的开销)?

1 个答案:

答案 0 :(得分:1)

  

我可以看到如何通过节点或浏览器(作为TypeScript Playground的一部分)运行tsserver

这里的麦克风失真。 tsserver 在节点https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-(tsserver) The TypeScript standalone server (aka tsserver) is a node executable

中运行

什么在操场上跑?

TypeScript 语言服务https://github.com/Microsoft/TypeScript/wiki/Using-the-Language-Service-API是在操场上运行的。它允许您拦截诸如“此文件存在”或“请读取此文件”之类的调用,并将其重定向到(对于节点,为 disk ,对于浏览器为 server )。

  

有没有一种方法可以将tsserver设置为可在移动设备上运行,并且理想情况下无需涉及Web视图(因为这是不必要的开销)?

所以从根本上说不。 tsserver不适用于非节点环境。

  

但是,它随摩纳哥编辑器一起提供,我希望它没有头,但我没有立即看到如何将它们分开

如果您要在浏览器IDE中使用,这里有一个不错的免费OSS,它使用了monaco https://github.com/agentcooper/typescript-play(但至少要通过和通过开源)。摩纳哥还不错。您必须从某个地方开始

更多

为了在某些文件集上运行TypeScript编译器而不运行tsc or tsserver,您有两个选择:

我认为对于您的情况(无需进行IDE /实时代码编辑等),编译器api就足够了。