我正在编写两个节点shell脚本,以便在平台上开发时使用。我们有Mac和Windows的开发人员。是否有一个变量,我可以检查在节点运行一个.sh文件在一个实例和。bat在另一个?


当前回答

当你在64位窗口上使用32位节点时(如node-webkit或atom-shell开发人员),处理。平台将回显win32

use

    function isOSWin64() {
      return process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432');
    }

(详情请点击此处)

其他回答

const path = require('path');

if (path.sep === "\\") {
console.log("Windows");
} else {
console.log("Not Windows");
}

这对我来说很好

var osvar = process.platform;

if (osvar == 'darwin') {
    console.log("you are on a mac os");
}else if(osvar == 'win32'){
    console.log("you are on a windows os")
}else{
    console.log("unknown os")
}
var isWin64 = process.env.hasOwnProperty('ProgramFiles(x86)');

我在mac机器上的Windows VM上运行我的node js代码时也遇到了同样的问题。下面的代码达到了目的。

取代

的过程。平台== 'win32'

with

就在这里 落日式金甲

当你在64位窗口上使用32位节点时(如node-webkit或atom-shell开发人员),处理。平台将回显win32

use

    function isOSWin64() {
      return process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432');
    }

(详情请点击此处)