मुझे यह स्वीकार करना होगा कि मैं आश्चर्यचकित हूं बल्कि मैंने 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) {...});
इस प्रकार एक्सप्रेस "भी उस मार्ग हैंडलर समारोह के लिए एक मानव पठनीय नाम के रूप में बुनियादी रूप से कुछ के लिए उपयोग किया है।