मैंने global
पर देखने का प्रयास किया है, लेकिन इसमें केवल चर शामिल हैं, फ़ंक्शन नहीं। मैं अपनी स्क्रिप्ट में बनाए गए सभी कार्यों को कैसे सूचीबद्ध कर सकता हूं?मैं अपने नोड जेएस स्क्रिप्ट में सभी कार्यों को कैसे सूचीबद्ध कर सकता हूं?
उत्तर
CLI: http://nodejs.org/docs/v0.3.7/api/debugger.html
जीयूआई: https://github.com/dannycoates/node-inspector
वहाँ भी काम करता है जो नोड निरीक्षक की एक अधिक शक्तिशाली संस्करण होगा https://github.com/c4milo/node-webkit-agent है।
उस फ़ाइल के साथ कमांड लाइन से नोड डीबग चलाएं जिसे आप देखना चाहते हैं। तो फिर तुम सूची (कुछ बड़ी संख्या यहाँ) का उपयोग कर सकते
node debug mini_file_server.js
< debugger listening on port 5858
connecting... ok
debug> scripts
26: mini_file_server.js
debug> list(1000)
1 var http = require('http'),
2 util = require('util'),
3 fs = require('fs');
4
5 server = http.createServer(function(req, res){
6 var stream = fs.createReadStream('one.html'),
7 stream2 = fs.createReadStream('two.html');
8 console.log(stream);
9 console.log(stream2);
10 stream.on('end', function(){
11 stream2.pipe(res, { end:false});
12 });
13
14 stream2.on('end', function(){
15 res.end("Thats all!");
16 });
17
18 res.writeHead(200, {'Content-Type' : 'text/plain'});
19 stream.pipe(res, { end:false});
20 stream2.pipe(res, { end:true});
21
22 }).listen(8001);
23 });
debug>
समारोह एक नाम है, यह वैश्विक ठीक में दिखाई देंगे: यदि आप कुछ AOP करना चाहते हैं तो
mb-work-laptop:~ markbessey$ node
> for (var k in global) { console.log(k); }
global
process
GLOBAL
root
Buffer
setTimeout
setInterval
clearTimeout
clearInterval
console
module
require
k
> function z(a) { return a*10; }
> for (var k in global) { console.log(k); }
global
process
GLOBAL
root
Buffer
setTimeout
setInterval
clearTimeout
clearInterval
console
module
require
k
z
>
> global.z
[Function: z]
मैं शपथ ले सकता था कि मैंने इसके लिए परीक्षण किया और पाया कि कार्य वैश्विक में उपलब्ध नहीं थे, लेकिन आपकी स्क्रिप्ट भी मेरे लिए ठीक काम करती है। – Trindaz
क्षमा करें मार्क मैंने इसे उत्तर के रूप में दिखाया है - यह कंसोल में ठीक काम करता है, लेकिन स्क्रिप्ट फ़ंक्शन एक() {वापसी 1; } के लिए (वैश्विक में var k) console.log (k) यह फ़ंक्शन 'ए' नहीं दिखाता है। – Trindaz
दाएं।जैसा कि यह पता चला है, इंटरैक्टिव मोड में, ये परिभाषाएं वैश्विक में जाती हैं, लेकिन यदि आप "node script.js" से एक स्क्रिप्ट चलाते हैं, तो वे मॉड्यूल में स्थानीय के रूप में समाप्त होते हैं। डीबगर से उस जानकारी को प्राप्त करने का निश्चित रूप से एक तरीका है, लेकिन यह सुनिश्चित नहीं है कि स्क्रिप्ट इसे एक्सेस कर सकती है या नहीं ... –
, मार्ग एएसटी है।
आप अपने स्वयं के एओपी ढांचे को कुछ: http://esprima.org के साथ बना सकते हैं।
या आप इतना जटिल नहीं पहलुओं के लिए node-burrito, उत्कृष्ट आज़मा सकते हैं:
var burrito = require('burrito');
var src = burrito('someCall()', function (node) {
if (node.name === 'call') node.wrap('qqq(%s)');
});
qqq(somecall())
यह डिबगर जैसे और अधिक उन्नत दर्शाती उपकरण के बिना नोड में असंभव है उत्पन्न होगा।
ऐसा करने का एकमात्र तरीका __parent__
का उपयोग करना होगा जो सुरक्षा समस्याओं और अन्य चीजों के कारण हटा दिया गया था। मार्क बेस्से की तरह, जब आप स्क्रिप्ट चलाते हैं तो वे चर मॉड्यूल क्लोजर चर बन जाते हैं। आप स्पष्ट रूप से उन्हें निर्यात किए बिना कहीं और नहीं पहुंच सकते हैं।
यह एक बग नहीं है, यह डिज़ाइन द्वारा है। यह सिर्फ नोड कैसे काम करता है। हालांकि, अगर आप सिर्फ अपने उपयोगकर्ताओं समारोह अभिव्यक्ति कार्य लिखने के लिए पूछना, सभी ए-ठीक काम करेगा:
module.exports = {
a:function(){
//same logic you had in the function declaration
}
}
उसके बाद, आप आसानी से पर विचार करने और module.exports गणना और सभी फ़ंक्शन नाम प्राप्त कर सकते हैं।
- 1. मैं एक्सएमएल में सभी नेमस्पेस कैसे सूचीबद्ध कर सकता हूं?
- 2. पायथन मॉड्यूल में सभी कार्यों को कैसे सूचीबद्ध करें?
- 3. मैं अपने डेटाबेस में चल रही अनुसूचित नौकरियों को कैसे सूचीबद्ध कर सकता हूं?
- 4. मैं विंडोज एक्सपी में सभी स्थापित अनुप्रयोगों को कैसे समझा/सूचीबद्ध कर सकता हूं?
- 5. गिट: मैं किसी दिए गए प्रतिबद्धता में मौजूद सभी फाइलों को कैसे सूचीबद्ध कर सकता हूं?
- 6. मैं सी # में प्रिंटर विज़ार्ड जैसे सभी उपलब्ध प्रिंटर ड्राइवरों को कैसे सूचीबद्ध कर सकता हूं?
- 7. मैं पर्ल के साथ निर्देशिका में सभी फ़ाइलों को कैसे सूचीबद्ध कर सकता हूं?
- 8. मैं टोमकैट पर फ़ोल्डर में सभी फाइलों को कैसे सूचीबद्ध कर सकता हूं?
- 9. मैं MATLAB में वैश्विक चर कैसे सूचीबद्ध कर सकता हूं?
- 10. मैं गिलहरी एसक्यूएल के साथ डेटाबेस में सभी टेबल कैसे सूचीबद्ध कर सकता हूं?
- 11. मैं सेलेरी कार्यों के निष्पादन को कैसे रोक सकता हूं?
- 12. मैं अपने सभी PHPUnit परीक्षण कैसे चला सकता हूं?
- 13. Erlang में मैं मॉड्यूल से सभी कार्यों को कैसे आयात कर सकता हूं?
- 14. मैं अपने डेटाबेस में सभी टेबल कैसे छोड़ सकता हूं?
- 15. मैं जीटीएफएस का उपयोग कर मार्ग से जुड़े सभी स्टॉप कैसे सूचीबद्ध कर सकता हूं?
- 16. डोडपार्सर को नोड जेएस
- 17. ग्रंट (नोड) - उपलब्ध कार्यों को कैसे दिखाएं?
- 18. नामस्थान के कार्यों को कैसे सूचीबद्ध करें?
- 19. मैं एक सीवीएस भंडार में सभी मॉड्यूल कैसे सूचीबद्ध कर सकता हूं?
- 20. मैं जीएसी में सभी पंजीकृत असेंबली कैसे सूचीबद्ध कर सकता हूं?
- 21. नोड जेएस
- 22. मैं अपने पर्ल सीजीआई प्रोग्राम को कैसे बना सकता हूं?
- 23. मैं उपलब्ध सिफर एल्गोरिदम कैसे सूचीबद्ध कर सकता हूं?
- 24. मैं नोड मॉड्यूल कैसे डिबग कर सकता हूं?
- 25. मैं अपने ऐप में सभी स्क्रॉल प्रभाव को कैसे अक्षम कर सकता हूं?
- 26. मैं अपने सभी सत्रों को टॉमकैट में कैसे समाप्त कर सकता हूं?
- 27. मैं एक पूर्ण नौसिखिया हूं, मैं नोड कैसे सीख सकता हूं। जेएस + एक्सप्रेस + मोंगोडीबी?
- 28. मैं अपनी jQuery स्क्रिप्ट को कैसे सत्यापित कर सकता हूं?
- 29. क्या मैं सभी डब्ल्यूटीबल पॉइंटर्स को कोर डंप से सूचीबद्ध कर सकता हूं?
- 30. मैं अपने कोको फ्रेमवर्क को कैसे संग्रहीत कर सकता हूं
इसके लिए उपयोग का मामला क्या होगा? – mihai
एक कस्टम एओपी स्क्रिप्ट जिसे मैं नोड ऐप के लिए बना रहा हूं। मैं इसे प्रोफाइलिंग, थ्रॉटलिंग और कस्टम सुरक्षा नीतियों जैसी चीजों के लिए उपयोग करना चाहता हूं। मैंने डोजो की जांच की लेकिन कुछ शुरुआती जांच सिर्फ इसे मेरे नोड ऐप में लोड कर रही थी, इसलिए मैंने सोचा कि मैं एक कस्टम स्क्रिप्ट लिखूंगा। यह मुश्किल नहीं होना चाहिए। – Trindaz
तो क्या आप इसे स्क्रिप्ट के भीतर से ही करना चाहते हैं? मुझे यकीन नहीं है कि यह इतना आसान है क्योंकि आपके पास गुमनाम कार्य, बंद करने के अंदर कार्य, गतिशील रूप से बनाए गए कार्यों आदि हो सकते हैं। – mihai