检测 OS 版本并使用正确的 PhantomJS 二进制文件

Detecting OS version and using the right PhantomJS binary

我目前正在尝试在 Node.js 和 Nwjs 中使用 PhantomJS 使用 OS X。但是,我想知道如果我将应用程序部署到 Windows 用户,他们会也可以 运行 该应用程序吗?

有没有办法检测 OS 用户拥有什么并使用正确的二进制文件?

是的,此功能内置于 node.js。

下面是 nw.js 示例应用程序之一的 mp3 编码器(显然需要不同 OS 上的不同二进制文件才能工作):https://github.com/zcbenz/nw-sample-apps/blob/master/mp3-encoder/lib/main.js#L29

简而言之:

 var platform = require("os").platform;
 var pathToBin;

 switch (platform()) {
    case "darwin":
      pathToBin = "vendor/bin/osx/phantomjs";
      break;
    case "win32":
      pathToBin = "vendor/bin/win32/phantomjs.exe";
  }