https://github.com/mapbox/tilemill
我一直在努力弄清楚 tilemill 如何将他们的 Node 应用程序打包到 mac、linux 或 windows 的桌面应用程序中。我搜索了他们的 github 项目,但没有看到任何关于他们如何做到这一点的细节。
最佳答案
他们使用包含的 nodejs 和库在端口 20008 和 20009 上启动一个小型服务器,然后在 webview 中打开它。每个目标平台都有控制 Node 进程的基本包装器,并打开一个指向 localhost:20009 的 webview
例如,在 Mac 上,所有内容(nodejs、库和 Assets )都包含在 TileMill.app/Resources/中,然后在 TileMill.app/MacOS/下是 TileMill,它只加载 node + index.js(在 Resources/中)和打开 WebView 。
一个更简单的跨平台方法来完成类似的事情是使用 node-webkit .不仅可以轻松部署,还可以直接在 web 层内部调用 nodejs,而不是一堆 web 回调。这意味着您可以直接执行访问文件等操作,而无需将客户端/服务器分开。
关于javascript - Tilemill 使用什么将 node.js 制作成原生桌面应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18924469/