2013-03-01 8 views
8

मेरे पास कुछ प्रोजेक्ट है, और मैं इसे node main.js/make test आदि के साथ चलाता हूं। मुझे इस निर्देशिका को एक स्क्रिप्ट से प्राप्त करने की आवश्यकता है। न केवल main.js से, बल्कि किसी भी सबमिशन से भी। मैंने path प्लगइन और __directory के साथ प्रयास किया, लेकिन मुझे वर्तमान फ़ाइल का पथ मिलता है (उदाहरण के लिए सबमिशन)। मैंने require('path').dirname(require.main.filename) भी कोशिश की, लेकिन जब मैं make test चलाता हूं तो मुझे अपनी प्रोजेक्ट निर्देशिका के बजाय मोचा डायरनाम मिलता है। इसके समाधान का सबसे आसान तरीका क्या है?निर्देशिका प्राप्त करना जिससे node.js को

उत्तर

5

__dirname आपको वह पथ देता है जहां फ़ाइल रहता है।

0

require.cache भंडार हर लोड मॉड्यूल और उसके संबंधित आयातित मूल्यों, माता पिता के मॉड्यूल, बच्चे मॉड्यूल, पूर्ण फ़ाइल पथ, आदि

मेरा मानना ​​है कि प्रत्येक मॉड्यूल कैश कुंजी के रूप में अपनी फ़ाइल पथ का उपयोग कर कैश वस्तु को सौंपा गया है, लेकिन आप शायद यह सुनिश्चित करने के लिए, इसे दोबारा जांचना चाहेंगे।

यदि ऐसा है, तो Object.keys(require.cache) जितना आसान कुछ मॉड्यूल आपको सभी मॉड्यूल के लिए फ़ाइल पथों की एक सरणी देगा। फिर प्रत्येक मॉड्यूल पथ से निर्देशिका निर्देशिका को खींचने के लिए आवश्यक प्रत्येक पथ को बस पार्स करें।

संबंधित मुद्दे