CADA VEZ QUE VEO un objeto en la consola que voy a querer expandirlo, por lo que me resulta pesado hacer clic en la flecha para hacerlo CADA VEZ :) ¿Hay un atajo o una configuración para hacer esto automáticamente?
google-chrome-devtools
Jeremy Smith
fuente
fuente
Respuestas:
Si bien la solución mencionada
JSON.stringify
es bastante buena para la mayoría de los casos, tiene algunas limitacionesconsole.log
pueda cuidar dichos objetos con elegancia.Aquí hay una solución (usa la biblioteca underscore.js ) que resuelve los dos anteriores de manera creativa (ab) usando
console.group
:Ahora corriendo:
Te dará algo como:
El valor de MAX_DEPTH se puede ajustar al nivel deseado, y más allá de ese nivel de anidamiento: el registro expandido volverá a la consola habitual.
Intenta ejecutar algo como:
Tenga en cuenta que la dependencia de subrayado se puede eliminar fácilmente: simplemente extraiga las funciones necesarias de la fuente .
También tenga en cuenta que
console.group
no es estándar.fuente
Considere usar console.table () .
fuente
Para expandir / contraer un nodo y todos sus elementos secundarios,
(tenga en cuenta que aunque el documento de herramientas de desarrollo enumera Ctrl + Alt + Click, en Windows todo lo que se necesita es Alt + Click).
fuente
Puede que no sea la mejor respuesta, pero he estado haciendo esto en algún lugar de mi código.
Actualización :
Use
JSON.stringify
para expandir su objeto automáticamente:Siempre puede hacer una función de acceso directo si le duele escribir todo eso:
Respuesta anterior :
entonces, en lugar de:
Tú lo haces:
No es la mejor solución, pero funciona bien para mi uso. Los objetos más profundos no funcionarán, por lo que es algo que se puede mejorar.
fuente
pretty(a)
en todos los sitios en todo momento;)console.table
es decir , una expansión superficial, "Opción / Alt + Clic" es un proceso manual, y no vale la pena escribir una función personalizada que use subrayado.js la sobrecarga)opción + Haga clic en una Mac. ¡Acabo de descubrirlo ahora mismo y he hecho mi semana! Esto ha sido tan molesto como cualquier otra cosa.
fuente
Aquí hay una versión modificada de la respuesta de lorefnon que no depende de underscorejs:
fuente
Aquí está mi solución, una función que itera todas las propiedades del objeto, incluidas las matrices.
En este ejemplo, itero sobre un objeto simple de varios niveles:
También tiene la posibilidad de excluir la iteración si las propiedades comienzan con un sufijo particular (es decir, $ para objetos angulares)
Aquí está la salida de la función:
También puede inyectar esta función en cualquier página web y copiar y analizar todas las propiedades, pruebe en la página de Google con el comando chrome:
También puede copiar la salida del comando usando el comando chrome:
fuente
si tiene un objeto grande, JSON.stringfy dará error Uncaught TypeError: Convertir la estructura circular a JSON, aquí hay un truco para usar la versión modificada
ahora puedes usar
JSON.stringifyOnce(obj)
fuente
Realmente no soy fanático de cómo Chrome y Safari consuelan objetos (sobre-diseñados). La consola condensa el objeto de manera predeterminada, ordena las teclas del objeto cuando el objeto se expande y muestra las funciones internas de la cadena del prototipo. Estas características deben ser configuraciones opcionales. Los desarrolladores por defecto probablemente estén interesados en los resultados sin procesar para que puedan verificar si su código funciona correctamente; y estas características ralentizan el desarrollo y dan resultados de clasificación incorrectos.
Cómo expandir objetos en la consola
Recomendado
console.log(JSON.stringify({}, undefined, 2));
También podría usar como una función:
"Opción + clic" (Chrome en Mac) y "Alt + clic" (Chrome en ventana)
Sin embargo, no es compatible con todos los navegadores (por ejemplo, Safari), y la consola todavía imprime las cadenas de tipo prototipo, las teclas de objeto se ordenan automáticamente cuando expandido, etc.
No recomendado
No recomendaría ninguna de las mejores respuestas
console.table()
- esta es solo una expansión superficial, y no expande objetos anidadosEscriba una función underscore.js personalizada: demasiada sobrecarga para lo que debería ser una solución simple
fuente
Es una solución, pero funciona para mí.
Lo uso en el caso de que un control / widget se actualice automáticamente dependiendo de las acciones del usuario. Por ejemplo, cuando se usa typeahead.js de twitter, una vez que se enfoca fuera de la ventana, el menú desplegable desaparece y las sugerencias se eliminan del DOM.
En las herramientas de desarrollo, haga clic con el botón derecho en el nodo que desea expandir, active la interrupción en ... -> modificaciones de subárbol , esto lo enviará al depurador. Sigue presionando F10 o Shift + F11 hasta que domines mutantes. Una vez que eso muta, puedes inspeccionar. Como el depurador está activo, la interfaz de usuario de Chrome está bloqueada y no cierra el menú desplegable y las sugerencias aún están en el DOM.
Muy útil para solucionar problemas de diseño de nodos insertados dinámicamente que comienzan a insertarse y eliminarse constantemente.
fuente
Otra forma más fácil sería
He intentado esto para objetos simples.
fuente
Puedes ver aquí:
https://www.angularjswiki.com/angular/how-to-read-local-json-files-in-angular/
La manera más fácil:
También debe agregar el siguiente código a tsconfig:
No reclamo propiedad de esto, solo refiero una fuente útil.
fuente
Puede ver su elemento accediendo a document.getElementsBy ... y luego hacer clic derecho y copiar el objeto resultante. Por ejemplo:
document.getElementsByTagName('ion-app')
devuelve un objeto javascript que se puede copiar y pegar en el editor de texto y lo hace en su totalidad.Mejor aún: haga clic derecho en el elemento resultante - 'Editar como html' - 'Seleccionar todo' - 'Copiar' - 'Pegar'
fuente