Skip to content

与其他类似项目的对比

Minqi Pan edited this page May 5, 2017 · 1 revision
  • Pkg(https://github.com/zeit/pkg): Pkg 在运行时动态替换了 Node.js 的 fs.* 系列标准库 API 的实现,而 Node.js Compiler 则尽量保持了原有 API 源代码不变,而在更底层的部分用 libsquash 完成工作。Pkg 使用一个大 JSON 来存储内存中的资源文件,而 Node.js Compiler 使用更成熟、更广泛使用的 SquashFS 作为其数据结构。
  • EncloseJS(http://enclosejs.com/): EncloseJS 只允许用户使用五个 fs.* API 访问包内文件,而 Node.js Compiler 允许所有的 fs.* API。EncloseJS 使用的是商业许可证,使用时需要付款;而 Node.js Compiler 是 MIT 许可证,使用者可免费试用,更可自由修改其源代码。
  • Nexe(https://github.com/nexe/nexe): Nexe 因为使用了 Browserify 的缘故,并不支持动态 require。而 Node.js Compiler 支持所有 require 调用,更支持 require.resolve 调用。
  • asar(https://github.com/electron/asar): Asar 使用 JSON 作为数据结构而 Node.js Compiler 使用 SquashFS。Asar 将代码和可执行文件分离,而 Node.js Compiler 将所有项目代码和 Node.js 本身链接在一起,最终生成一个独立的可执行文件。
  • AppImage(http://appimage.org/): AppImage 只支持 Linux,而且只支持内核开启了 SquashFS 的 Linux。 Node.js Compiler 支持 Windows、macOS、Linux 全部三个平台,且不对 Linux 的内核施加任何特别的功能要求。
Clone this wiki locally