我如何 运行 tsserver 作为移动设备上的后台进程(即使用 JavaScriptCore 但没有节点;并避免基于 webview 的解决方案)?
How can I run tsserver as a background process on mobile (i.e. with JavaScriptCore but without node; and avoiding webview-based solutions)?
我为 iOS 制作了一个简单的 JS 文本编辑器应用程序;我想使用 tsserver 来获得智能感知和转译。我可以看到如何通过节点或浏览器 运行 tsserver(作为 TypeScript Playground 的一部分——但是,它与 Monaco 编辑器一起出现,我希望它无头,但我没有立即看到如何分离他们)。
要考虑的困难之一是它可能需要文件系统访问权限才能加载任何 TypeScript 库(我将加载许多自定义库)——我不确定如何优雅地解决这个问题纯粹的 JavaScriptCore 解决方案。
有没有办法在移动设备上将 tsserver 设置为 运行,最好不涉及 webview(因为这是不必要的开销)?
I can see how to run tsserver via node or via the browser (as part of TypeScript Playground)
误解在这里。 tsserver only 运行s in node : 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 就是操场上的 运行。它允许您拦截 "does this file exist" 或 "please read this file" 之类的调用并将它们重定向到 (disk for node, server for in浏览器)等
Is there a way to set up just tsserver to run on mobile, ideally without getting a webview involved (as it's unnecessary overhead)?
所以基本上没有。 tsserver 不适用于非节点环境。
however, it comes along with the Monaco editor, and I want it headless, but I don't immediately see how to separate them
如果你想在浏览器中使用 IDE 这里有一个不错的免费 OSS 确实使用了 monaco : https://github.com/agentcooper/typescript-play(但至少它是开源的并通过)。摩纳哥并没有那么糟糕。你必须从某个地方开始❤
更多
为了在没有 运行ning tsc or tsserver
的情况下 运行 TypeScript 编译器编译一些文件,你有两个选择:
- 语言服务/语言服务主机:复杂,但允许您通过实时编辑等将 IDE 放在您选择的前面。一些 文档:https://github.com/Microsoft/TypeScript/wiki/Using-the-Language-Service-API
- Just the Compiler API : 允许您一次性传递一堆 ts 代码以生成 JavaScript / 进行错误分析。此处提供示例:https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API
我认为对于你的情况(没有 IDE / 实时代码编辑等)编译器 api 就足够了。
我为 iOS 制作了一个简单的 JS 文本编辑器应用程序;我想使用 tsserver 来获得智能感知和转译。我可以看到如何通过节点或浏览器 运行 tsserver(作为 TypeScript Playground 的一部分——但是,它与 Monaco 编辑器一起出现,我希望它无头,但我没有立即看到如何分离他们)。
要考虑的困难之一是它可能需要文件系统访问权限才能加载任何 TypeScript 库(我将加载许多自定义库)——我不确定如何优雅地解决这个问题纯粹的 JavaScriptCore 解决方案。
有没有办法在移动设备上将 tsserver 设置为 运行,最好不涉及 webview(因为这是不必要的开销)?
I can see how to run tsserver via node or via the browser (as part of TypeScript Playground)
误解在这里。 tsserver only 运行s in node : 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 就是操场上的 运行。它允许您拦截 "does this file exist" 或 "please read this file" 之类的调用并将它们重定向到 (disk for node, server for in浏览器)等
Is there a way to set up just tsserver to run on mobile, ideally without getting a webview involved (as it's unnecessary overhead)?
所以基本上没有。 tsserver 不适用于非节点环境。
however, it comes along with the Monaco editor, and I want it headless, but I don't immediately see how to separate them
如果你想在浏览器中使用 IDE 这里有一个不错的免费 OSS 确实使用了 monaco : https://github.com/agentcooper/typescript-play(但至少它是开源的并通过)。摩纳哥并没有那么糟糕。你必须从某个地方开始❤
更多
为了在没有 运行ning tsc or tsserver
的情况下 运行 TypeScript 编译器编译一些文件,你有两个选择:
- 语言服务/语言服务主机:复杂,但允许您通过实时编辑等将 IDE 放在您选择的前面。一些 文档:https://github.com/Microsoft/TypeScript/wiki/Using-the-Language-Service-API
- Just the Compiler API : 允许您一次性传递一堆 ts 代码以生成 JavaScript / 进行错误分析。此处提供示例:https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API
我认为对于你的情况(没有 IDE / 实时代码编辑等)编译器 api 就足够了。