javascript - Tilemill 使用什么将 node.js 制作成原生桌面应用程序?

标签 javascript node.js tilemill

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/

相关文章:

javascript - 使用 JavaScript 在 Canvas 上描绘一条线

javascript - meteor 此事件未定义

node.js - Mongoose 保存文档成功但没有反射(reflect)在数据库中

mapbox - 是否可以根据数据有条件地在 Mapbox Studio 中为国家/地区着色?

openstreetmap - 为 Leaflet.js 创建图 block map 的正确方法?

javascript - 如何将 Jade 输出与 Angular 滤镜混合

javascript - 从 Angular2 中的 JSON 文件获取特定列

javascript - 无法摆脱 ForbiddenError : invalid csrf token on express with csurf

javascript - 如何使用node.js从cloudinary下载图像