/ / कंसोल में संलग्न मिडिलवेयर फ़ंक्शंस दिखाएं - जावास्क्रिप्ट, नोड। जेएस, एक्सप्रेस, कंसोल, कनेक्ट

कंसोल में संलग्न मिडलवेयर फ़ंक्शन दिखाएं - जावास्क्रिप्ट, node.js, एक्सप्रेस, कंसोल, कनेक्ट करें

मुझे यह स्वीकार करना होगा कि मैं आश्चर्यचकित हूं बल्कि मैंने Google के माध्यम से इस बारे में कोई जानकारी नहीं पाई है। शायद मैं मुश्किल से देख रहा था।

मूल रूप से, मैं अपने Express.js ऐप का उपयोग करते हुए विभिन्न मिडलवेयर फ़ंक्शंस के बारे में जानकारी प्राप्त करना चाहता हूं, अधिमानतः ए के माध्यम से bash-जैसा सांत्वना। लॉग इन कर रहा है express() फ़ंक्शन स्वयं उप-फ़ंक्शंस लॉग नहीं करता है, जैसे कि trace() या mkcol()। इन्हें इनकी विशेषताओं के रूप में दिखाया गया है express फ़ंक्शन ऑब्जेक्ट, उदाहरण के लिए, trace: [Function], या emit: [Function: emit]; उनके शरीर और वर्तमान सामग्री को नहीं दिखाया गया है। मैं ई.जी. express().once.toString(), जैसा कि कई उत्तरों में कहा गया है, सहित यह वाला.

यह केवल फ़ंक्शन बॉडी दिखाता है जैसा कि मैंने कहा था इससे पहले कि यह था (जब मैंने सभी मिडलवेयर को जोड़ा), तो नहीं कहा कि शरीर अब क्या है। यह मिडिलवेयर नहीं दिखाता है जो मेरे पास था use().

मैं इन मिडलवेयर फ़ंक्शंस को कंसोल में कैसे दिखाऊँ जैसा कि वे अब हैं? उदाहरण के लिए, यदि मैं परिभाषित करता हूं:

express = require("express");
server = express();

flash = require("connect-flash");
bodyParser = require("body-parser");

server.use(flash());
server.use(bodyParser.json());
server.use(bodyParser.urlencoded());

मैं कैसे देख सकता हूँ कि एक्सप्रेस अब उपयोग करता है flash मिडलवेयर, और, अलग-अलग, मैं कैसे देख सकता हूं कि एक्सप्रेस अब मिडलवेयर का उपयोग करता है, जिसमें से जो भी फ़ंक्शन निर्यात होता है connect-flash मॉड्यूल? यदि इनमें से एक या दोनों "bodyParser.json () / bodyParser.urlencoded () फ़ंक्शन" जो कुछ भी है, उसके लिए काम नहीं करेगा, तो क्या लॉग इन करने का एक और तरीका है? जैसा कि मैंने कहा, यह केवल करने के लिए पर्याप्त नहीं है console.log एक्सप्रेस "रों use() फ़ंक्शन, या, अगर यह है, तो मैं इस चाल को खोजने में सक्षम नहीं था। एक मिलियन तरीके हैं जिसमें एक मिडलवेयर फ़ंक्शन को परिभाषित किया जा सकता है और use()डी, इसलिए मैं उन सभी के लिए काम करने के लिए किसी भी जवाब की उम्मीद नहीं करता, लेकिन "जितना संभव हो उतना अच्छा" होगा।

किसी भी उत्तर को नेस्टेड मिडलवेयर के लिए काम करना चाहिए, साथ ही, उदाहरण के लिए, Router तथा vhost बिचौलियों और आमतौर पर कर सकते हैं use() अन्य मिडलवेयर, और वास्तव में एक्सप्रेस ऐप स्वयं हैं।

उत्तर:

उत्तर № 1 के लिए 1

सबसे करीबी बात जो मुझे पता है, वह है आपके ऐप को DEBUG पर्यावरण चर सेट करने के लिए express:router इस तरह: DEBUG=express:router node server.js और आप ऐप का उपयोग करते हुए आउटपुट देखते हैं। मिडलवेयर के रूप में आपके द्वारा उपयोग किए जाने वाले कई कार्य अनाम होने जा रहे हैं क्योंकि उन्हें इस तरह परिभाषित करना आम है: app.get("/foo", function(req, res) {...}); इस प्रकार एक्सप्रेस "भी उस मार्ग हैंडलर समारोह के लिए एक मानव पठनीय नाम के रूप में बुनियादी रूप से कुछ के लिए उपयोग किया है।