CHAQUE FOIS QUE JE regarde un objet dans la console, je vais vouloir l'agrandir, donc ça devient ennuyeux d'avoir à cliquer sur la flèche pour faire ça CHAQUE FOIS :) Y a-t-il un raccourci ou un paramètre pour que cela soit fait automatiquement?
google-chrome-devtools
Jeremy Smith
la source
la source
Réponses:
Bien que la solution mentionnée
JSON.stringify
soit assez bonne pour la plupart des cas, elle présente quelques limitationsconsole.log
peut prendre soin de ces objets avec élégance.Voici une solution (utilise la bibliothèque underscore.js ) qui résout les deux de manière créative (ab) en utilisant
console.group
:En cours d’exécution:
Vous donnera quelque chose comme:
La valeur de MAX_DEPTH peut être ajustée à un niveau souhaité, et au-delà de ce niveau d'imbrication - le journal étendu reviendra à la console habituelle.
Essayez d'exécuter quelque chose comme:
Notez que la dépendance de soulignement peut être facilement supprimée - il suffit d'extraire les fonctions requises de la source .
Veuillez également noter que ce
console.group
n'est pas standard.la source
Pensez à utiliser console.table () .
la source
Pour développer / réduire un nœud et tous ses enfants,
(notez que bien que la documentation des outils de développement répertorie Ctrl + Alt + Clic, sous Windows, tout ce qui est nécessaire est Alt + Clic).
la source
Ce n'est peut-être pas la meilleure réponse, mais je l'ai fait quelque part dans mon code.
Mise à jour :
Utilisez
JSON.stringify
pour développer automatiquement votre objet:Vous pouvez toujours créer une fonction de raccourci si cela fait mal de taper tout cela:
Réponse précédente :
puis, au lieu de:
Tu fais:
Pas la meilleure solution, mais fonctionne bien pour mon utilisation. Les objets plus profonds ne fonctionneront pas, c'est donc quelque chose qui peut être amélioré.
la source
pretty(a)
sur tous les sites à tout moment;)console.table
- dire une expansion superficielle, "Option / Alt + clic" est un processus manuel, et l'écriture d'une fonction personnalisée qui utilise underscore.js ne vaut pas la peine l'overhead)option + Cliquez sur un Mac. Je viens de le découvrir maintenant moi-même et j'ai fait ma semaine! Cela a été aussi ennuyeux que tout
la source
Voici une version modifiée de la réponse de lorefnon qui ne dépend pas des traits de soulignement:
la source
Voici ma solution, une fonction qui itère toutes les propriétés de l'objet, y compris les tableaux.
Dans cet exemple, j'itère sur un objet simple à plusieurs niveaux:
Vous avez également la possibilité d'exclure l'itération si les propriétés commencent par un suffixe particulier (ie $ pour les objets angulaires)
Voici la sortie de la fonction:
Vous pouvez également injecter cette fonction dans n'importe quelle page Web et copier et analyser toutes les propriétés, essayez sur la page Google en utilisant la commande chrome:
Vous pouvez également copier la sortie de la commande à l'aide de la commande chrome:
la source
si vous avez un gros objet, JSON.stringfy donnera l'erreur Uncaught TypeError: Conversion de la structure circulaire en JSON, voici une astuce pour en utiliser une version modifiée
maintenant tu peux utiliser
JSON.stringifyOnce(obj)
la source
Je ne suis vraiment pas fan de la façon dont Chrome et Safari consoles des objets (sur-ingénierie). La console par défaut condense l'objet, trie les clés d'objet lorsque l'objet est développé et affiche les fonctions internes de la chaîne de prototypes. Ces fonctionnalités doivent être des paramètres d'acceptation. Les développeurs par défaut sont probablement intéressés par les résultats bruts afin de vérifier si leur code fonctionne correctement; et ces fonctionnalités ralentissent le développement et donnent des résultats de tri incorrects.
Comment développer des objets dans la console
conseillé
console.log(JSON.stringify({}, undefined, 2));
Pourrait également utiliser comme fonction:
"Option + Clic" (Chrome sur Mac) et "Alt + Clic" (Chrome sur Fenêtre)
Cependant, il n'est pas pris en charge par tous les navigateurs (par exemple Safari), et la console imprime toujours les chaînes de types de prototypes, les clés d'objet sont triées automatiquement lorsque élargi, etc.
Non recommandé
Je ne recommanderais aucune des meilleures réponses
console.table()
- il s'agit uniquement d'une expansion superficielle et ne développe pas les objets imbriquésEcrire une fonction underscore.js personnalisée - trop de frais généraux pour ce qui devrait être une solution simple
la source
C'est un travail autour, mais cela fonctionne pour moi.
J'utilise dans le cas où un contrôle / widget se met à jour automatiquement en fonction des actions de l'utilisateur. Par exemple, lorsque vous utilisez le typeahead.js de Twitter, une fois que vous vous concentrez hors de la fenêtre, la liste déroulante disparaît et les suggestions sont supprimées du DOM.
Dans les outils de développement, faites un clic droit sur le nœud sur lequel vous souhaitez développer activer la rupture sur ... -> modifications de sous-arborescence , cela vous enverra alors au débogueur. Continuez à appuyer sur F10 ou Shift + F11 jusqu'à ce que votre dom mute. Une fois que cela mute, vous pouvez inspecter. Puisque le débogueur est actif, l'interface utilisateur de Chrome est verrouillée et ne ferme pas la liste déroulante et les suggestions sont toujours dans le DOM.
Très pratique lors du dépannage de la disposition des nœuds insérés dynamiquement qui commencent à être insérés et supprimés en permanence.
la source
Un autre moyen plus simple serait
J'ai essayé cela pour des objets simples.
la source
Vous pouvez afficher votre élément en accédant à document.getElementsBy ... puis en cliquant avec le bouton droit et en copiant l'objet obtenu. Par exemple:
document.getElementsByTagName('ion-app')
rend un objet javascript qui peut être copié dans l'éditeur de texte et il le fait dans son intégralité.Mieux encore: faites un clic droit sur l'élément obtenu - 'Modifier en html' - 'Tout sélectionner' - 'Copier' - 'Coller'
la source
Vous pouvez voir ici:
https://www.angularjswiki.com/angular/how-to-read-local-json-files-in-angular/
Moyen le plus simple:
Vous devez également ajouter le code suivant à tsconfig:
Je ne revendique aucune propriété de cela, me référant simplement à une source utile.
la source