Este es un práctico tutorial de cómo depurar tus aplicaciones hechas en Node.js. Con esto aprenderás a hacer esta tarea por completo y de la mejor manera. Esta guía lo ayudará a comenzar a depurar tus aplicaciones y SkripteConcepto de Scripts¿Qué son los Scripts?Los Scripts son fragmentos de código que se usan para dar forma a herramientas tanto en Internet como en el sector de la informática en general. Son una parte crucial del software, puesto que se trata exactamente del código que conforma a una aplicación en su totalidad o a una de sus funciones, como además el que puedes hallar explorando cómo está hecha una web.Desde Plus Node.js. Continúa leyendo y entérate de mas.
Aktivieren Sie einen Inspektor
Beim Start mit dem Schalter --prüfen Ein Node.js-Prozess wartet über WebSockets auf Diagnosebefehle, die standardmäßig vom Inspector-Protokoll auf dem Host und dem Port definiert werden 127.0.0.1:9229. Jedem Prozess wird außerdem eine eindeutige UUID zugewiesen (z. B.) 0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e).
Los clientes de Inspector deben conocer y especificar la dirección de host, el puerto y el UUID para conectarse a la interfaz de WebSocket. La UrlEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo Plus Komplett ws://127.0.0.1:9229/0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e Dies hängt natürlich vom tatsächlichen Host und Port sowie von der richtigen UUID für die Instanz ab.
El Inspector también incluye un punto final HTTPEl HTTP (Hyper Text Transfer Protocol) es un protocolo que se usa para transmitir datos en redes. HTTP es un estándar técnico generalmente aceptado que establece cómo un cliente web se comunica con un servidor para que los datos solicitados por el cliente puedan ser cargados y mostrados. Información general Junto con el URL y el HTML, HTTP es uno de los conceptos más importantes de Internet (www). Fue desarrollado Plus para servir MetadatenLos metadatos son datos estructurados que contienen información sobre una fuente como, por ejemplo, un libro o un documento web. Gracias a los metadatos resulta mucho más fácil hallar la fuente de información dado que contienen datos sobre el título, el autor, la fecha de publicación, la descripción, etc. Se utilizan en librerías pero además para la estadística y la ingeniería de software. Metadatos en WWW Los metadatos se utilizan Plus sobre el depurador, incluida su URL de WebSocket, UUID y la URL de Chrome DevTools. Obtén estos metadatos enviando una solicitud HTTP a http: // [Host: Port] / json / list. Dies gibt ein JSON-Objekt wie das folgende zurück; Verwenden Sie die Eigenschaft webSocketDebuggerUrl als URL, um eine direkte Verbindung zum Inspector herzustellen.
{"description": "node.js instance", "devtoolsFrontendUrl": "chrome-devtools: //devtools/bundled/inspector.html? experiment = true & v8only = true & ws = 127.0.0.1: 9229 / 0f2c936f-b1cd -4ac9-aab3 -f63b0f33d55e "," faviconUrl ":" https://nodejs.org/static/favicon.ico "," id ":" 0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e "," title ":" node "," type ":" node "," url ":" file: // "," webSocketDebuggerUrl ":" ws: //127.0.0.1: 9229 / 0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e "}
Sie können auch einen gestarteten Node.js-Prozess anweisen ohne –inspektion um Debug-Nachrichten abzuhören, indem Sie sie mit signalisieren SIGUSR1 (en Linux y OS X). A partir del Node 7, esto activa la APIConcepto de API¿Qué es una API?Una API, siglas de Application Programming Interface o Interfaz de Programación de Apps, es un recopilatorio de código que se puede emplear para que varias apps se comuniquen entre ellas. Es algo que realiza una tarea equivalente a la interfaz de usuario al momento de promover la interacción entre persona y programa, solo que aplicado única y exclusivamente dentro del entorno del software.Aún cuando suene Plus de depuración heredada; en el Node 8 y posterior activará la API Inspector.
Sicherheit ist involviert
Da der Debugger vollen Zugriff auf die Laufzeit von Node.js hat, kann ein böswilliger Akteur, der eine Verbindung zu diesem Port herstellen kann, im Namen des Knotenprozesses beliebigen Code ausführen. Es ist wichtig, die Sicherheitsauswirkungen des Offenlegens des Debug-Ports in öffentlichen und privaten Netzwerken zu verstehen.
Das öffentliche Offenlegen des Debug-Ports ist nicht sicher
Si el depurador está vinculado a una IP AdresseDirección de Protocolo de Internet, la dirección IP es una dirección de red que se puede asignar a un dispositivo en una red sólo una vez. Esto hace falta para que los paquetes de datos puedan direccionarse y entregarse correctamente. Una dirección IP es el identificador único de un PC que establece su ubicación en Internet. Muestra qué proveedor se está usando. La dirección IP de 32 bits (además llamada Plus pública, o 0.0.0.0, Jeder Client, der auf Ihre IP-Adresse zugreifen kann, kann ohne Einschränkungen eine Verbindung zum Debugger herstellen und beliebigen Code ausführen.
Standardmäßig ist node –inspect an 127.0.0.1 gebunden. Sie müssen explizit eine öffentliche IP-Adresse oder 0.0.0.0 usw. angeben, wenn Sie externe Verbindungen zum Debugger zulassen möchten. Dies kann Sie einer potenziell erheblichen Sicherheitsbedrohung aussetzen. Wir empfehlen, dass Sie geeignete Firewalls und Zugriffskontrollen sichern, um Sicherheitsrisiken zu vermeiden.
Lokale Anwendungen haben vollen Zugriff auf den Inspektor.
Auch wenn Sie den Inspector-Port an binden 127.0.0.1 (Standardeinstellung) Alle Anwendungen, die lokal auf Ihrem PC ausgeführt werden, haben uneingeschränkten Zugriff. Dies ist beabsichtigt, damit lokale Debugger bequem eine Verbindung herstellen können.
BrowserConcepto de Navegadores¿Qué son los Navegadores?Los Navegadores son herramientas informáticas que utilizamos para, normalmente, navegar por Internet y visitar cualquier página web, al mismo tiempo de para hacer otras tareas como ver documentos, observar vídeos o reproducir contenido multimedia de cualquier tipo. Son un tipo de software sencillamente usual y bastante utilizado hoy en día.Insistimos en que es algo que se utiliza con mucha frecuencia, puesto que moverse por Internet Plus, websockets y política del mismo origen.
Los sitios web abiertos en un BrowserUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los Plus web pueden hacer solicitudes WebSocket y HTTP bajo el modelo de seguridad del navegador. Es necesaria una conexión HTTP inicial para obtener un Id de sesiónUn ID de sesión es un número de identificación que se genera en el lado del servidor para asignar peticiones de usuario a una sesión. Este ID se almacena localmente con el usuario y se transfiere en forma de cookies o como un atributo URI (Uniform Resource Identifier). Cómo funciona Se puede ingresar a los datos de la última sesión que se almacena en el lado del servidor usando el Plus de depurador único. La misma política de origen impide que los sitios web puedan realizar esta conexión HTTP.
Para mayor seguridad contra los ataques de reencuadernación de DNSConcepto de DNS¿Qué son las DNS (Domain Name Server)?Al hablar de DNS, nos referimos a las iniciales Domain Name System (Sistema de Nombres de Dominio). Consiste en una tecnología que recurre a las bases de datos para detectar la dirección IP a la que pertenece cualquier dominio que un usuario quiera desear. Es decir, toma la URL y la “traduce” para ofrecer como resultado su dirección exacta, su IP.Para quien Plus, Node.js verifica que las cabeceras del ‘Host’ para la conexión especifiquen una dirección IP o localhost o localhost6 con precisión.
Estas políticas de seguridad no permiten conectarse a un ServerLos servidores son ordenadores centrales y potentes dentro del campo de la tecnología de la información que procesan y proporcionan software y archivos en una red. Desde el punto de vista de un cliente, varios ordenadores en una red pueden ponerse en contacto con el servidor central para conseguir la información solicitada. En la arquitectura cliente-servidor, el servidor puede ser un software que proporciona un servicio y se ejecuta en Plus de depuración remoto especificando el nombre del host. Puedes evitar esta restricción especificando la dirección IP o utilizando túneles ssh como se describe a continuación.
Inspektor-Kunden
Varias herramientas comerciales y de Open SourceEl Código Abierto u Open Source se refiere al código fuente del software que es abiertamente alcanzable y que puede ser cambiado y distribuido por cualquier persona. La propuesta de código abierto estipula diez requerimientos para las licencias de software de código abierto. El principio El código fuente de un software se hace público: cualquiera puede leerlo, desarrollar el propio software y copiarlo. El software puede ser utilizado o distribuido Plus pueden conectarse al Inspector de nodos. A continuación se ofrece información básica sobre estos temas:
- Node-Inspect
- Von der Node.js Foundation unterstützter CLI-Debugger, der das Inspector-Protokoll verwendet.
- Eine Version ist in Node enthalten und kann mit dem Knoten inspect myscript.js verwendet werden.
- Die neueste Version kann auch eigenständig installiert werden (z. B. npm install -g node-inspect) und mit node-inspect myscript.js verwendet werden.
- Chrome DevTools 55+
- Option 1: Öffnen Sie chrome: // inspect in einem Chromium-basierten Browser. Klicken Sie auf die Schaltfläche Konfigurieren und stellen Sie sicher, dass der Zielhost und der Zielport aufgelistet sind.
- Option 2: Kopieren Sie devtoolsFrontendUrl aus der Ausgabe von / json / list (siehe oben) oder dem Hinweistext –inspect und fügen Sie ihn in Chrome ein.
- Opción 3: Instale Chrome Extension NIM (Administrador del Inspector de Nodos): httpsHTTPS (protocolo de Transferencia de Hiper-Texto) es un protocolo que permite determinar una conexión segura entre el servidor y el cliente, que no puede ser interceptada por personas no autorizadas. En resumidas cuentas, es la versión segura de el http (Hyper Text Transfer Protocol) Cómo funciona Una conexión HTTP estándar en Internet puede ser fácilmente secuestrada por partes no autorizadas. El propósito de una conexión HTTPS es evitar esto: encriptar Plus://chrome.google.com/webstore/detail/nim-node-inspector-manage/gnhhdgbaldcilmgcpfddgdbkhjohddkj
- Visual Studio Code 1.10+
- Klicken Sie im Debugging-Bereich auf das Einstellungssymbol, um .vscode / launch.json zu öffnen. Wählen Sie "Node.js" für die Erstkonfiguration.
- Visual Studio 2017
- Wählen Sie "Debug> Debugging starten" aus dem Menü oder drücken Sie F5.
- JetBrains WebStorm 2017.1+ und andere JetBrains-IDEs
- Erstellen Sie eine neue Node.js-Debug-Konfiguration und klicken Sie auf Debug. –Inspect wird standardmäßig für Node.js 7+ verwendet. So deaktivieren Sie js.debugger.node.use.inspect in der IDE-Registrierung.
- Chrome Remote-Schnittstelle
- Verfügt über eine Bibliothek zur Erleichterung der Verbindungen zu Inspector-Protokollendpunkten
Befehlszeilenoptionen
In der folgenden Tabelle sind die Auswirkungen verschiedener Laufzeitflags auf das Debuggen aufgeführt:
- -Prüfen:
- Aktivieren Sie den Inspektionsagenten
- Lauschen Sie der Standardadresse und dem Standardport (127.0.0.0.1: 9229).
- –Inspect = [Host: Port]:
- Aktivieren Sie den Inspektionsagenten
- An Hostname Adresse oder Host binden (Standard: 127.0.0.0.1)
- Port abhören (Standard: 9229)
- –Inspect-brk
- Aktivieren Sie den Inspektionsagenten
- Lauschen Sie der Standardadresse und dem Standardport (127.0.0.1:9229).
- Pause, bevor der Benutzercode startet
- –Inspect-brk =[Host: Port]
- Aktivieren Sie den Inspektionsagenten
- An Hostname Adresse oder Host binden (Standard: 127.0.0.0.1)
- Port abhören (Standard: 9229)
- Pause, bevor der Benutzercode startet
- Knoten inspizieren script.js
- Untergeordneten Prozess erzeugen, um das Benutzerskript unter dem Flag –inspect auszuführen. Verwenden Sie den Hauptprozess, um den CLI-Debugger auszuführen.
- node inspect –port = xxxx script.js
- Untergeordneten Prozess erzeugen, um das Benutzerskript unter dem Flag –inspect auszuführen. Verwenden Sie den Hauptprozess, um den CLI-Debugger auszuführen.
- Port abhören (Standard: 9229)
Aktivieren von Remote-Debugging-Szenarien
Ich empfehle, dass Sie den Debugger niemals dazu bringen, eine öffentliche IP-Adresse abzuhören. Wenn Sie Remote-Debugging-Verbindungen zulassen müssen, empfehle ich stattdessen die Verwendung von SSH-Tunneln. Das folgende Beispiel dient nur zur Veranschaulichung. Bitte haben Sie Verständnis für das Sicherheitsrisiko, den Remotezugriff auf einen privilegierten Dienst zuzulassen, bevor Sie fortfahren.
Angenommen, Sie führen Node.js auf einem Remotecomputer aus. remote.example.com, Sie möchten debuggen können. Auf diesem Computer sollten Sie den Knotenprozess so starten, dass der Inspektor nur localhost abhört (Standardeinstellung).
$-Knoten --inspect server.js [php] Jetzt können Sie auf Ihrem lokalen Computer, von dem aus Sie eine Debug-Client-Verbindung starten möchten, einen SSH-Tunnel konfigurieren: [PHP] $ SSH -L 9221: localhost: 9229 @ user_sample. remote.com
Dadurch wird eine SSH-Tunnelsitzung gestartet, in der eine Verbindung zu Port 9221 Ihres lokalen Computers an Port 9229 von remote.example.com weitergeleitet wird. Jetzt können Sie einen Debugger wie Chrome DevTools oder Visual Studio Code an localhost: 9221 anhängen, der debuggen kann, als ob die Anwendung Node.js lokal ausgeführt würde.





