Как определить текущую операционную систему с узлом.js



Я пишу несколько сценариев оболочки узла для использования при разработке на платформе. У нас есть как Mac, так и Windows-разработчики. Есть ли переменная, которую я могу проверить в узле для запуска файла .sh в одном экземпляре И.летучая мышь в другой?

633   8  

8 ответов:

переменная для использования будет process.platform

на Mac переменная возвращает darwin. В Windows он возвращает win32 (даже на 64-разрядных).

возможные значения: 'darwin', 'freebsd', 'linux', 'sunos'или ' win32'

Я просто установил это в верхней части моего jakeFile:

var isWin = process.platform === "win32";

вы ищете собственный модуль ОС для узла.js:

v4:https://nodejs.org/dist/latest-v4.x/docs/api/os.html#os_os_platform

или v5:https://nodejs.org/dist/latest-v5.x/docs/api/os.html#os_os_platform

os.платформа()

возвращает платформу операционной системы. Возможные значения: 'darwin', 'freebsd', 'linux', 'sunos'или ' win32'. Возвращает значение процесс.платформа.

С Узла.js v6 (и выше) есть выделенный os модуль, который предоставляет ряд методов утилиты, связанных с операционной системой.

на моей машине Windows 10 он сообщает следующее:

var os = require('os');

console.log(os.type()); // "Windows_NT"
console.log(os.release()); // "10.0.14393"
console.log(os.platform()); // "win32"

вы можете прочитать его полную документацию здесь:https://nodejs.org/api/os.html

когда вы используете узел 32bits на 64bits windows(например, node-webkit или Atom-shell developers), процесс.платформа будет Эхо win32

использовать

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

(Регистрация здесь дополнительные сведения)

Это прекрасно работает для меня

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")
}
const path = require('path');

if (path.sep === "\") {
console.log("Windows");
} else {
console.log("Not Windows");
}
var isWin64 = process.env.hasOwnProperty('ProgramFiles(x86)');

отлично работает для меня

if (/^win/i.test(process.platform)) {
    // TODO: Windows
} else {
    // TODO: Linux, Mac or something else
}

модификатор i используется для выполнения сопоставления без учета регистра.

Comments

    Ничего не найдено.