我正在编写两个节点shell脚本,以便在平台上开发时使用。我们有Mac和Windows的开发人员。是否有一个变量,我可以检查在节点运行一个.sh文件在一个实例和。bat在另一个?
当前回答
对于Node.js v6(及以上版本),有一个专用的操作系统模块,它提供了许多与操作系统相关的实用程序方法。
在我的Windows 10电脑上,它报告了以下内容:
var os = require('os');
console.log(os.type()); // "Windows_NT"
console.log(os.release()); // "10.0.14393"
console.log(os.platform()); // "win32"
你可以在这里阅读完整的文档:https://nodejs.org/api/os.html#os_os_type
其他回答
var isWin64 = process.env.hasOwnProperty('ProgramFiles(x86)');
这对我来说很好
var osvar = process.platform;
if (osvar == 'darwin') {
console.log("you are on a mac os");
}else if(osvar == 'win32'){
console.log("you are on a windows os")
}else{
console.log("unknown os")
}
对于Node.js v6(及以上版本),有一个专用的操作系统模块,它提供了许多与操作系统相关的实用程序方法。
在我的Windows 10电脑上,它报告了以下内容:
var os = require('os');
console.log(os.type()); // "Windows_NT"
console.log(os.release()); // "10.0.14393"
console.log(os.platform()); // "win32"
你可以在这里阅读完整的文档:https://nodejs.org/api/os.html#os_os_type
对我来说没问题
if (/^win/i.test(process.platform)) {
// TODO: Windows
} else {
// TODO: Linux, Mac or something else
}
修饰符i用于进行不区分大小写的匹配。
当你在64位窗口上使用32位节点时(如node-webkit或atom-shell开发人员),处理。平台将回显win32
use
function isOSWin64() {
return process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432');
}
(详情请点击此处)
推荐文章
- “node_modules”文件夹应该包含在git存储库中吗
- 使用package.json在全局和本地安装依赖项
- this.libOptions.parse不是一个函数
- 对嵌套文件夹运行npm install的最好方法是什么?
- 节点Multer异常字段
- 很好的初学者教程socket.io?
- CALL_AND_RETRY_LAST分配失败-进程内存不足
- 在Ubuntu上安装Node.js
- 使用express.js代理
- Node -使用NODE_MODULE_VERSION 51根据不同的Node.js版本编译
- RabbitMQ / AMQP:单队列,同一消息的多个消费者?
- Node.js同步执行系统命令
- 禁用包的postinstall脚本
- Node.js上的html解析器
- 错误:无法找到模块“webpack”