Heim > Web-Frontend > js-Tutorial > So überprüfen Sie mit Node.js das Betriebssystem und seine Versionsnummer

So überprüfen Sie mit Node.js das Betriebssystem und seine Versionsnummer

青灯夜游
Freigeben: 2021-09-13 09:25:28
nach vorne
4758 Leute haben es durchsucht

Wie verwende ich Node.js, um das Betriebssystem und seine Versionsnummer zu überprüfen? Im folgenden Artikel erfahren Sie, wie Sie das Betriebssystem ermitteln und die Node.js-Versionsnummer von Windows- und Mac-Systemen in Node.js erhalten.

So überprüfen Sie mit Node.js das Betriebssystem und seine Versionsnummer

Holen Sie sich das Betriebssystem

Es ist sehr einfach, das Betriebssystem in Node.js zu ermitteln. Verwenden Sie process.platformprocess.platform 即可返回标识操作系统平台的字符串,可能的值为:

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

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

获取 Windows 系统版本号

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

10.0.18363
Nach dem Login kopieren

格式是 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
Nach dem Login kopieren

更详细的介绍,可参考官方文档。这里给出一个如何判断 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')
Nach dem Login kopieren

获取 Mac 系统版本号

但在 Mac 上,os.release() 得到的结果就不准了,比如我 Mac 版本是 11.1,但是 os.release() 返回的是 20.2.0,如果 Mac 版本是 11.5,返回的却是 20.5.0, um eine Zeichenfolge zurückzugeben, die die Betriebssystemplattform identifiziert. Vielleicht ist der Wert:

  • aix
  • darwin
  • freebsd
  • linux
  • openbsd
  • sunos
  • < li >win32

Zusätzlich zu dieser Methode können Sie auch die Methode os.platform() des os< verwenden /code> Modul zu erhalten, sind die erhaltenen Ergebnisse die gleichen. [Empfohlenes Lernen: „<a href="https://www.php.cn/course/list/24.html" target="_blank" textvalue="nodejs Tutorial">nodejs Tutorial</p>"]<p><h2 data- id="heading-1"></p>Erhalten Sie die Windows-Systemversionsnummer<p><a href="https://support.apple.com/en-us/HT201260" target="_blank" ref="nofollow noopener noreferrer"></a>Nachdem wir das Betriebssystem kennen, möchten wir auch dessen Versionsnummer erhalten. Wenn der Benutzer beispielsweise Windows ist, möchte ich wissen, ob er es verwendet Win7 oder Win10. Was sollen wir zu diesem Zeitpunkt tun? Sie müssen weiterhin die Methode <code>os.release() des Moduls os verwenden, um es zu erhalten. Das erhaltene Format ist wie folgt:

$ sw_vers
ProductName:	macOS
ProductVersion:	11.4
BuildVersion:	20F71
Nach dem Login kopieren

Das Format ist Major.minor.build</code >, die entsprechende Beziehung zwischen den einzelnen Versionen ist wie folgt: <a href="https://www.php.cn/course.html" target="_blank" textvalue="编程入门"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">$ sw_vers -productVersion 11.4</pre><div class="contentsignin">Nach dem Login kopieren</div></div></a>Eine detailliertere Einführung finden Sie unter <a href="https://docs.microsoft.com/en-us /windows/win32/api/winnt/ns-winnt- osversioninfoexw#remarks" target="_blank" ref="nofollow noopener noreferrer">Offizielle Dokumentation </p>. Hier ist ein Code zum Ermitteln von Win7 oder Win7 und darunter: 🎜<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">const { execSync } = require(&amp;#39;child_process&amp;#39;) const macVersion = execSync(&amp;#39;sw_vers -productVersion&amp;#39;, { encoding: &amp;#39;utf-8&amp;#39; })</pre><div class="contentsignin">Nach dem Login kopieren</div></div><h2 data-id="heading-2">🎜Holen Sie sich die Versionsnummer des Mac-Systems🎜🎜🎜Aber auf dem Mac: <code>os.release() Das erhaltene Ergebnis ist ungenau. Meine Mac-Version ist beispielsweise 11.1, aber os.release() gibt 20.2.0 zurück, wenn die Mac-Version 11.5 ist , aber der zurückgegebene Wert ist 20.5.0 und kann daher mit dieser Methode nicht abgerufen werden. Es gibt jedoch einen Befehl sw_vers auf dem Mac. Wenn wir ihn im Terminal ausführen, ist das Ergebnis wie folgt: 🎜rrreee🎜Sie können sehen, dass die ProductVersion-Zeile die genaue Versionsnummer anzeigt, die mit dem folgenden Befehl extrahiert werden kann: 🎜 rrreee🎜An diesem Punkt kommt der Code heraus: 🎜rrreee🎜Informationen zur Versionsnummernkorrespondenz auf dem Mac finden Sie in der 🎜offiziellen Dokumentation🎜. 🎜🎜Weitere Kenntnisse zum Thema Programmierung finden Sie unter: 🎜Einführung in die Programmierung🎜! ! 🎜

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie mit Node.js das Betriebssystem und seine Versionsnummer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage