(අවම වශයෙන්) Node.js v0.10.33(ස්ථාවර) / v0.11.14(අස්ථායී) වෙතින් බොහෝ දුරට ප්රයෝජනවත් පිළිතුරු සම්පාදනය කිරීම (අවම වශයෙන්) හරහා (අවම වශයෙන්) හරහා ( v7.7.4මෙම පිළිතුරට නවතම යාවත්කාලීනයේ අනුවාදය ධාරාව). ඔහුගේ උදව් සඳහා රොරි ඕ'කේන්ට තොප්පිය ඉඟිය .
tl; dr
ප්රශ්නයේ උදාහරණය සඳහා අපේක්ෂිත ප්රතිදානය ලබා ගැනීමට, භාවිතා කරන්න console.dir():
console.dir(myObject, { depth: null }); // `depth: null` ensures unlimited recursion
ඇයි නැත්තේ util.inspect()? : එය රෝග විනිශ්චය ප්රතිදානය හදවත දැනටමත් වන නිසා console.log()සහ console.dir()මෙන්ම Node.js repl භාවිතය util.inspect() නිසැකයෙන්ම . එය සාමාන්යයෙන් ඇමතීමට අවශ්ය නොවේrequire('util')util.inspect() කෙලින්ම .
විස්තර පහතින්.
- මෙම repl : නිසැකයෙන්ම ඕනෑම ප්රකාශනයක් නැවත අගය මුද්රණය
util.inspect() සමග කාරක රීති පාට ;
එනම්, විචල්යයක නමක් ටයිප් කර Enter යතුර එබීමෙන් එහි වටිනාකම පරීක්ෂා කළ අනුවාදයක් මුද්රණය වේ; උදා:
o = { one: 1, two: 'deux', foo: function(){} } // The REPL echoes the object definition with syntax coloring.
util.inspect()වස්තුව සහ අරාව නිරූපණයන් ස්වයංක්රීයව මුද්රණය කරයි , නමුත් අවශ්ය විටදී පමණක් බහු ප්රතිදානය නිපදවයි .
ලස්සන මුද්රණ හැසිරීම compactවිකල්ප optionsතර්කයේ ඇති දේපල මගින් පාලනය කළ හැකිය ; falseබහු-රේඛීය ප්රතිදානය කොන්දේසි විරහිතව භාවිතා කරන අතර trueලස්සන මුද්රණය සම්පූර්ණයෙන්ම අක්රීය කරයි; කොන්දේසි සහිත බහු-රේඛීය හැසිරීම පාලනය කිරීම සඳහා එය අංකයකට සැකසිය හැකිය (පෙරනිමිය 3) - ලියකියවිලි බලන්න .
පෙරනිමියෙන්, ප්රතිදානය
ගොනුවකට හෝ පර්යන්තයකට යවනු ලැබුවද, ස්තුතියි, ෂ්රේ , අක්ෂර 60 ක් පමණ එති . ප්රායෝගිකව, රේඛා බිඳීම් සිදුවන්නේ දේපල මායිම්වල පමණක් බැවින් , ඔබ බොහෝ විට කෙටි රේඛා සමඟ අවසන් වනු ඇත, නමුත් ඒවා ද දිගු විය හැකිය (උදා: දිගු දේපල වටිනාකම් සහිත).
V6.3.0 + හි ඔබට breakLengthඅක්ෂර 60 සීමාව ඉක්මවා යාම සඳහා විකල්පය භාවිතා කළ හැකිය; ඔබ එය Infinityසකසන්නේ නම්, සියල්ල තනි පේළියක ප්රතිදානය වේ .
ලස්සන මුද්රණය පිළිබඳ වැඩි පාලනයක් ඔබට අවශ්ය නම්JSON.stringify() , 3 වන තර්කය සමඟ භාවිතා කිරීම ගැන සලකා බලන්න , නමුත් පහත සඳහන් කරුණු සටහන් කරන්න:
- වැනි රවුම් යොමු ඇති වස්තූන් සමඟ අසමත් වේ
moduleගෝලීය සන්දර්භය වේ.
- ක්රමසැලසුම් ( ) සැලසුම් අනුව ඇතුළත් නොවේ.
- සැඟවුණු (ගණන් කළ නොහැකි) ගුණාංග පෙන්වීමට ඔබට තෝරා ගත නොහැක.
- උදාහරණ ඇමතුම:
JSON.stringify({ one: 1, two: 'deux', three: true}, undefined, 2); // creates a pretty-printed multiline JSON representation indented with 2 spaces
util.inspect() විකල්ප වස්තුව (2 වන තර්කය):
ආකෘතිගත කරන ලද නූලෙහි ඇතැම් අංග වෙනස් කරන විකල්ප විකල්ප වස්තුවක් සම්මත කළ හැකිය; ඇතැම්සහාය දක්වන ගුණාංග:
වත්මන්, සම්පූර්ණ ලැයිස්තුව සඳහා නවතම Node.js ලියකියවිලි බලන්න .
showHidden
- එසේ නම්
true, වස්තුවෙහි ගණන් කළ නොහැකි ගුණාංග [ඔබ භාවිතා කරන විට නොපෙන්වන ලෙස නම් කර ඇති for keys in objහෝ Object.keys(obj)ඒවා ද පෙන්වනු ලැබේ. පෙරනිමි false.
depth
- වස්තුව සංයුති කිරීමේදී කොපමණ වාරයක් ආපසු යා යුතුදැයි පරීක්ෂා කිරීමට කියයි. විශාල සංකීර්ණ වස්තු පරීක්ෂා කිරීම සඳහා මෙය ප්රයෝජනවත් වේ. පෙරනිමි 2 දක්වා. එය දින නියමයක් නොමැතිව නැවත ලබා ගැනීමට නම් සමත් වන්න
null.
colors
- සත්ය නම්, ප්රතිදානය ANSI වර්ණ කේත සමඟ හැඩගස්වනු ඇත. පෙරනිමි
false. වර්ණ අභිරුචිකරණය කළ හැකිය [… - සබැඳිය බලන්න].
customInspect
- එසේ නම්
false, inspect()පරීක්ෂා කරනු ලබන වස්තූන් මත අර්ථ දක්වා ඇති අභිරුචි කාර්යයන් කැඳවනු නොලැබේ. පෙරනිමි true.
util.format()format-string placeholders (1 වන තර්කය)
ඇතැම්සහාය දක්වන දරන්නන්:
වත්මන්, සම්පූර්ණ ලැයිස්තුව සඳහා නවතම Node.js ලියකියවිලි බලන්න .
%s - නූල්.
%d - අංකය (නිඛිල හා පාවෙන).
%j - JSON.
%%- තනි ප්රතිශත ලකුණ ('%'). මෙය තර්කයක් පරිභෝජනය නොකරයි.