您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何利用Node.js查看操作系統及其版本號的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在 Node.js 中判斷操作系統是非常簡單的,用 process.platform
即可返回標識操作系統平臺的字符串,可能的值為:
aix
darwin
freebsd
linux
openbsd
sunos
win32
除了這種方法,還可以使用 os
模塊的 os.platform()
方法獲取,得到的結果是一樣的。【推薦學習:《nodejs 教程》】
知道操作系統之后,我們還希望獲取其版本號,例如如果用戶是 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 上,os.release()
得到的結果就不準了,比如我 Mac 版本是 11.1,但是 os.release()
返回的是 20.2.0
,如果 Mac 版本是 11.5,返回的卻是 20.5.0
,所以不能用這個方法獲取了。不過 Mac 上有一個命令 sw_vers,我們在終端運行結果如下:
$ sw_vers ProductName: macOS ProductVersion: 11.4 BuildVersion: 20F71
可以看到 ProductVersion 那一行展示了精確的版本號,可以用下面的命令提取出來:
$ sw_vers -productVersion 11.4
到這里,代碼就出來了:
const { execSync } = require('child_process') const macVersion = execSync('sw_vers -productVersion', { encoding: 'utf-8' })
Mac 上的版本號對應關系可參考官方文檔。
感謝各位的閱讀!關于“如何利用Node.js查看操作系統及其版本號”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。