Maison >interface Web >js tutoriel >Comment utiliser Node.js pour vérifier le système d'exploitation et son numéro de version

Comment utiliser Node.js pour vérifier le système d'exploitation et son numéro de version

青灯夜游
青灯夜游avant
2021-09-06 10:27:094775parcourir

Comment utiliser Node.js pour vérifier le système d'exploitation et son numéro de version ? L'article suivant vous expliquera comment déterminer le système d'exploitation et obtenir le numéro de version Node.js des systèmes Windows et Mac dans Node.js.

Comment utiliser Node.js pour vérifier le système d'exploitation et son numéro de version

Obtenir le système d'exploitation

Il est très simple de déterminer le système d'exploitation dans Node.js. Utilisez process.platformprocess.platform 即可返回标识操作系统平台的字符串,可能的值为:

  • aix
  • darwin
  • freebsd
  • linux
  • openbsd
  • sunos
  • win32

除了这种方法,还可以使用 os 模块的 os.platform() 方法获取,得到的结果是一样的。【推荐学习:《nodejs 教程》】

获取 Windows 系统版本号

知道操作系统之后,我们还希望获取其版本号,例如如果用户是 windows,我想知道他是用的 win7 还是 win10 呀,这个时候应该怎么办呢?还是要用到 os 模块的 os.release() 方法获取,得到的格式如下:

10.0.18363

格式是 major.minor.build,各版本的对应关系如下:

 Version                                    major.minor   
------------------------------------------ ------------- 
 Windows 10, Windows Server 2016            10.0
 Windows 8.1, Windows Server 2012 R2        6.3
 Windows 8, Windows Server 2012             6.2
 Windows 7, Windows Server 2008 R2          6.1
 Windows Vista, Windows Server 2008         6.0
 Windows XP Professional x64 Edition,       5.2
 Windows Server 2003, Windows Home Server
 Windows XP                                 5.1
 Windows 2000                               5.0

更详细的介绍,可参考官方文档。这里给出一个如何判断 win7 或 win7 及以下的代码:

const os = require('os')
const semver = require('semver')
const platform = os.platform()
const isWindows = platform === 'win32'
const release = os.release()
const isWin7 = isWindows && release.startsWith('6.1')
const win7orOlder = isWindows && semver.lte('6.1')

获取 Mac 系统版本号

但在 Mac 上,os.release() 得到的结果就不准了,比如我 Mac 版本是 11.1,但是 os.release() 返回的是 20.2.0,如果 Mac 版本是 11.5,返回的却是 20.5.0 pour renvoyer une chaîne identifiant la plate-forme du système d'exploitation, qui peut La valeur est :

  • aix
  • darwin
  • freebsd
  • linux
  • openbsd
  • sunos
  • win32

En plus de cette méthode, vous pouvez également utiliser la méthode os.platform() du os module à obtenir, les résultats obtenus sont les mêmes. [Apprentissage recommandé : "nodejs tutoriel

"]

Obtenir le numéro de version du système Windows

Après avoir connu le système d'exploitation, nous souhaitons également obtenir son numéro de version. Par exemple, si l'utilisateur est Windows, je veux savoir s'il l'utilise. win7 ou win10. À ce moment-là, que devons-nous faire ? Il faut quand même utiliser la méthode os.release() du module os pour l'obtenir. Le format obtenu est le suivant :

$ sw_vers
ProductName:	macOS
ProductVersion:	11.4
BuildVersion:	20F71

Le format est . major.minor.build, la relation correspondante entre chaque version est la suivante :

$ sw_vers -productVersion
11.4
Pour une introduction plus détaillée, veuillez vous référer à Documentation officielle

. Voici un code sur la façon de déterminer win7 ou win7 et ci-dessous : 🎜
const { execSync } = require('child_process')
const macVersion = execSync('sw_vers -productVersion', { encoding: 'utf-8' })

🎜Obtenez le numéro de version du système Mac🎜🎜🎜Mais sur Mac, os.release() Le résultat obtenu est inexact. Par exemple, ma version Mac est 11.1, mais os.release() renvoie 20.2.0 si la version Mac est 11.5. , mais la valeur renvoyée est 20.5.0, elle ne peut donc pas être obtenue en utilisant cette méthode. Cependant, il existe une commande sw_vers sur Mac Lorsque nous l'exécutons dans le terminal, le résultat est le suivant : 🎜rrreee🎜Vous pouvez voir que la ligne ProductVersion affiche le numéro de version exact, qui peut être extrait avec la commande suivante : 🎜 rrreee🎜À ce stade, le code apparaît : 🎜rrreee🎜Pour la correspondance des numéros de version sur Mac, veuillez vous référer à la 🎜documentation officielle🎜. 🎜🎜Pour plus de connaissances sur la programmation, veuillez visiter : 🎜Introduction à la programmation🎜 ! ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer