Node.js 在NodeJS';有人知道优胜美地或Windows8是什么平台吗?

Node.js 在NodeJS';有人知道优胜美地或Windows8是什么平台吗?,node.js,windows-8,osx-yosemite,flat,Node.js,Windows 8,Osx Yosemite,Flat,我试图检测操作系统的自然外观,因此我设计的元素接近操作系统的感觉(例如Skeuomorph或Flat) 目前,我正在使用NodeJS的“操作系统”模块获取操作系统信息。在Mac[Mavericks]上,我可以通过os.platform()获得“darwin”值,根据wiki的说法,这也是Yosemite的名字 我的主要目标是检测操作系统是否使用平面设计(例如,新的Windows8或Mac的Yosemite)或传统的Skeuoroph设计 是否有各种操作系统的平台名称列表? -或者- 是否有一种更

我试图检测操作系统的自然外观,因此我设计的元素接近操作系统的感觉(例如Skeuomorph或Flat)

目前,我正在使用NodeJS的“操作系统”模块获取操作系统信息。在Mac[Mavericks]上,我可以通过
os.platform()
获得“darwin”值,根据wiki的说法,这也是Yosemite的名字

我的主要目标是检测操作系统是否使用平面设计(例如,新的Windows8或Mac的Yosemite)或传统的Skeuoroph设计

是否有各种操作系统的平台名称列表?
-或者- 是否有一种更容易/更好的方法来检测操作系统是否使用了平面设计或skeumorph设计?

引用的答案来自

现在有一个
os
模块:。它具有获取平台的功能

文档不提供返回值。所以,我在下面记录了一些。结果分别针对Ubuntu 12.04 64位、OS X 10.8.5、Windows 7 64位和Joyent SmartMachine。在节点0.10上进行的测试

Linux
  • os.type()
    “Linux”
  • os.platform()
    “linux”
  • os.arch()
    'x64'
OSX(Mac)
  • os.type()
    “达尔文”
  • os.platform()
    “达尔文”
  • os.arch()
    'x64'
窗户
  • os.type()
    “Windows\u NT”
  • os.platform()
    “win32”
  • os.arch()
    'x64'
智能机
  • os.type()
    “SunOS”
  • os.platform()
    'sunos'
  • os.arch()
    'ia32'

注意:在Windows 7上,64位节点可能会错误地将
os.arch()
报告为
ia32
。这是一个记录在案的错误:

您可以使用
os.release()
来确定版本。例如,它在Windows7上返回
6.1.xxxx
,谢谢Ben,我已经看过了,但是在我的Mac(Mavericks)上我得到了13.4.5,这与操作系统的实际10.9版本号完全不同。现在需要的是一个数字/字符串表示操作系统的列表,这样我就可以在这个逻辑中构建……这就是达尔文的基本版本。您可以通过任何方式将它们与OSX版本交叉引用,以区分Windows 7/Windows 8或Mac Mavericks/Yosemite?我只是想让操作系统的设计保持一致。:)@GuyPark尝试使用
os.release()
方法。