Tôi đang viết một vài tập lệnh trình bao nút để sử dụng khi phát triển trên nền tảng. Chúng tôi có cả nhà phát triển Mac và Windows. Có một biến tôi có thể kiểm tra trong Node để chạy một tập tin .sh trong một trường hợp và .bat trong một khác?Làm cách nào để xác định hệ điều hành hiện tại với Node.js
Trả lời
Biến sử dụng sẽ process.platform
Trên Mac lợi nhuận biến darwin
. Trên Windows, nó trả về win32
(thậm chí trên 64 bit).
Giá trị có thể là: 'darwin', 'freebsd', 'Linux', 'SunOS' hoặc 'win32'
Tôi chỉ cần thiết lập này ở đầu jakeFile tôi:
var isWin = process.platform === "win32";
Bạn nên sử dụng mô-đun OS tốt hơn, thậm chí trong tài liệu . os.platform cụ thể – alessioalex
windows trả về ''win32'', ngay cả trên hệ điều hành 64 bit. tức là 'process.platform === 'win32'' là đủ – Raynos
. Cảm ơn Raynos! –
Bạn đang tìm kiếm các mô-đun hệ điều hành bản địa cho Node.js:
v4: https://nodejs.org/dist/latest-v4.x/docs/api/os.html#os_os_platform
hoặc v5: https://nodejs.org/dist/latest-v5.x/docs/api/os.html#os_os_platform
os.platform()
Trả về điều hành nền tảng hệ thống. Các giá trị có thể là 'darwin', 'freebsd', 'linux', 'sunos' hoặc 'win32'. Trả về giá trị của process.platform.
var isWin = (os.platform() === 'win32'); – urish
process.platform cũng hoạt động, không cần yêu cầu: https://nodejs.org/dist/latest-v4.x/docs/api/process.html#process_process_platform –
khi bạn đang sử dụng 32bits nút trên 64bits cửa sổ (như nút-webkit hoặc nguyên tử vỏ nhà phát triển), process.platform sẽ echo win32
sử dụng
function isOSWin64() {
return process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432');
}
(kiểm tra here để biết chi tiết)
var isWin64 = process.env.hasOwnProperty('ProgramFiles(x86)');
Với Node.js v6 (trở lên) có một os
mô-đun chuyên dụng, cung cấp một số phương pháp tiện ích hệ thống liên quan đến điều hành.
Trên máy tính Windows 10 của tôi nó báo cáo như sau:
var os = require('os');
console.log(os.type()); // "Windows_NT"
console.log(os.release()); // "10.0.14393"
console.log(os.platform()); // "win32"
Bạn có thể đọc nó tài liệu hướng dẫn đầy đủ ở đây: https://nodejs.org/api/os.html
const path = require('path');
if (path.sep === "\\") {
console.log("Windows");
} else {
console.log("Not Windows");
}
Trong khi mã này có thể trả lời câu hỏi, cung cấp ngữ cảnh bổ sung về cách thức và/hoặc lý do giải thích vấn đề này sẽ cải thiện giá trị lâu dài của câu trả lời. – Badacadabra
Mặc dù điều đó sẽ làm việc trong hầu hết các trường hợp, tôi muốn sử dụng mô-đun 'os', đó là biểu cảm hơn khi đọc mã. – Stephan
trình tốt cho tôi
if (/^win/.test(process.platform)) {
// TODO: Windows
} else {
// TODO: Linux, Mac or something else
}
- 1. Node.js để nhận/xác định phiên bản hệ điều hành
- 2. Xác định hệ điều hành trong .vimrc
- 3. Làm cách nào để xác định xem hệ điều hành có là POSIX trong C?
- 4. .mã mã để xác định hệ điều hành?
- 5. Làm thế nào để phát hiện các hệ điều hành hiện tại từ gradle
- 6. sed "nhãn không xác định" trên hệ điều hành MacOS
- 7. Xác định hệ điều hành trong thời gian chạy
- 8. Phát hiện hệ điều hành
- 9. Cách xác định phiên bản hệ điều hành iPhone hiện tại khi chạy và so sánh các chuỗi phiên bản?
- 10. Xác định hệ điều hành sử dụng Environment.OSVersion
- 11. Làm thế nào để phát hiện ngôn ngữ mặc định của hệ điều hành trong python?
- 12. Tải hệ điều hành hiện tại Trong Adobe Air
- 13. jQuery - phát hiện hệ điều hành và phiên bản hệ điều hành
- 14. Làm cách nào để phát hiện hệ điều hành đang chạy?
- 15. Làm thế nào để xác định hệ điều hành máy chủ khi biên dịch chéo với CMake?
- 16. Phát hiện hệ điều hành trong Ruby
- 17. Làm thế nào để phát hiện hệ điều hành trong một tập tin thực hiện?
- 18. Thực hiện mà không cần hệ điều hành
- 19. Làm thế nào tôi có thể tìm thấy hệ điều hành hiện tại bằng Python?
- 20. Cách tốt nhất cho ứng dụng WinForms để xác định chính xác hệ điều hành Windows nào đang chạy?
- 21. Phát hiện hệ điều hành trong Clojure
- 22. Xác định Gốc Hệ thống Tập tin bằng Node.js
- 23. Tải trình duyệt mặc định của hệ điều hành hiện tại và mở một trang web với nó?
- 24. Làm thế nào để phát hiện đúng hệ điều hành Windows, Linux và Mac
- 25. Viết một hệ điều hành với UEFI
- 26. Cách biết hệ điều hành/nền tảng hiện tại của mã thực thi (Android/iOS)
- 27. Làm cách nào để thực hiện xác thực với Node.js, Express và Mongoose?
- 28. Làm cách nào tôi có thể thay thế lịch mặc định của hệ điều hành Android?
- 29. Làm cách nào để khởi chạy trình duyệt web mặc định trong Perl trên bất kỳ hệ điều hành nào?
- 30. Cách tải phiên bản Hệ điều hành Windows Phone hiện tại?
Giống như kết hợp mô-đun _Quá trình nhỏ _ với mô-đun _OS_? –
Điều này có vẻ giống như một bản sao của http://stackoverflow.com/questions/6551006/get-my-os-from-the-node-js-shell –
http://stackoverflow.com/questions/42524606/get-windows -name-using-node-js – 981