अब सबसे विश्वसनीय समाधान node -h
निष्पादित करना है और देखें कि इसमें iojs.org
सबस्ट्रिंग है। यदि ऐसा है - यह iojs
है:
function isIojs(callback) {
require('child_process').exec(process.execPath + ' -h', function(err, help) {
return err ? callback(err) : callback(null, /iojs\.org/.test(help));
});
}
इस तरह के दृष्टिकोण का बड़ा शून्य से - यह अतुल्यकालिक है। इसलिए मैंने एक छोटी पुस्तकालय लिखी जो नौकरी को सरल बना रहा है: is-iojs।
लेकिन स्पष्ट रूप से बोल रहा है: कौन जानता है कि नोड संस्करण 1 जारी किया जाएगा, शायद कभी नहीं। इसलिए मैं अब केवल process.version
के आधार पर निर्धारण के लिए लगता है कि पर्याप्त है:
var isIojs = parseInt(process.version.match(/^v(\d+)\./)[1]) >= 1;
इसके अलावा, आप जाँच कर सकते हैं process.execPath
स्ट्रिंग, लेकिन इस दृष्टिकोण के रूप में तक मुझे पता है खिड़कियों के लिए काम करता है नहीं करता है।
मुझे अभी यह प्रश्न मिला है लेकिन कुछ दिन पहले मैंने कुछ इसी तरह से पूछा लेकिन [नोडजे, आईओजेएस, जेक्सकोर, और चक्रकोर जेएस इंजन के साथ माइक्रोसॉफ्ट का फोर्क के बीच का पता लगाने] (http://stackoverflow.com/ प्रश्न/35,037,072)। – hippietrail