Как определить текущую операционную систему с узлом.js
Я пишу несколько сценариев оболочки узла для использования при разработке на платформе. У нас есть как Mac, так и Windows-разработчики. Есть ли переменная, которую я могу проверить в узле для запуска файла .sh в одном экземпляре И.летучая мышь в другой?
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"); }
отлично работает для меня
if (/^win/i.test(process.platform)) { // TODO: Windows } else { // TODO: Linux, Mac or something else }модификатор i используется для выполнения сопоставления без учета регистра.
Comments