這篇文章給大家分享的是有關(guān)如何利用Node.js查看操作系統(tǒng)及其版本號(hào)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來(lái)公司不斷探索創(chuàng)新,始終堅(jiān)持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過(guò)去的10余年時(shí)間我們累計(jì)服務(wù)了上千家以及全國(guó)政企客戶,如成都會(huì)所設(shè)計(jì)等企業(yè)單位,完善的項(xiàng)目管理流程,嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過(guò)硬的技術(shù)實(shí)力獲得客戶的一致稱贊。
在 Node.js 中判斷操作系統(tǒng)是非常簡(jiǎn)單的,用 process.platform
即可返回標(biāo)識(shí)操作系統(tǒng)平臺(tái)的字符串,可能的值為:
aix
darwin
freebsd
linux
openbsd
sunos
win32
除了這種方法,還可以使用 os
模塊的 os.platform()
方法獲取,得到的結(jié)果是一樣的。【推薦學(xué)習(xí):《nodejs 教程》】
知道操作系統(tǒng)之后,我們還希望獲取其版本號(hào),例如如果用戶是 windows,我想知道他是用的 win7 還是 win10 呀,這個(gè)時(shí)候應(yīng)該怎么辦呢?還是要用到 os
模塊的 os.release()
方法獲取,得到的格式如下:
10.0.18363
格式是 major.minor.build
,各版本的對(duì)應(yīng)關(guān)系如下:
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
更詳細(xì)的介紹,可參考官方文檔。這里給出一個(gè)如何判斷 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()
得到的結(jié)果就不準(zhǔn)了,比如我 Mac 版本是 11.1,但是 os.release()
返回的是 20.2.0
,如果 Mac 版本是 11.5,返回的卻是 20.5.0
,所以不能用這個(gè)方法獲取了。不過(guò) Mac 上有一個(gè)命令 sw_vers,我們?cè)诮K端運(yùn)行結(jié)果如下:
$ sw_vers ProductName: macOS ProductVersion: 11.4 BuildVersion: 20F71
可以看到 ProductVersion 那一行展示了精確的版本號(hào),可以用下面的命令提取出來(lái):
$ sw_vers -productVersion 11.4
到這里,代碼就出來(lái)了:
const { execSync } = require('child_process') const macVersion = execSync('sw_vers -productVersion', { encoding: 'utf-8' })
Mac 上的版本號(hào)對(duì)應(yīng)關(guān)系可參考官方文檔。
感謝各位的閱讀!關(guān)于“如何利用Node.js查看操作系統(tǒng)及其版本號(hào)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!