Depuración de aplicaciones HTML/Node
Los inspectores de Chromium o Node se pueden usar para depurar aplicaciones Html y Node que se ejecutan en reproductores BrightSign. Consulte las secciones a continuación para obtener más información sobre cómo usar cada una de estas herramientas.
Inspector de Chromium
Este ejemplo usa Visual Studio Code. Puede almacenar su aplicación en el módulo Live Server si usa VS Code, o en un servidor local.
Esto solo debe usarse durante el desarrollo y no se recomienda para aplicaciones implementadas en un reproductor en producción, a menos que pueda reiniciar el reproductor o controlar el runtime.
Requisitos previos
- Conéctese a su reproductor mediante una conexión serial (consulte Shell de BrightSign o Configuración del puerto serial para obtener más información).
- Use bsc (CLI de BrightSign) para enviar archivos mediante el DWS local o remoto, o la interfaz de usuario de DWS.
- Si tiene un servidor HTTP local en su computadora, coloque su aplicación en el servidor y apunte el reproductor BrightSign hacia él. De lo contrario, tendrá que copiar el código de la aplicación en el reproductor.
- Descargue o instale este cliente REST para VS Code, que le permite usar atajos de teclado para cargar rápidamente archivos al reproductor.
- Abra su navegador Chrome y vaya a esta URL: chrome://inspect/#devices.
Habilitar el depurador
- Abra su autorun en un editor de código.
- Habilite la depuración en el registro agregando las siguientes líneas a su autorun:
debugrs = createobject("roregistrysection", "brightscript")
debug = debugrs.read("debug")
if debug <> "1" then
debugrs.write("debug","1")
debugrs.flush()
'stop
RebootSystem() 'reboots player first time it's changed
end if3. Para probar el depurador, escriba Ctrl-C en el indicador BrightScript> de la ventana de control serial. El indicador cambiará a Depurador de BrightScript>. Escriba salir para salir del depurador.
4. Ingrese el siguiente código en su autorun. El indicador --inspect-brk le permitirá ver rápidamente qué variables están en alcance, sus valores y la pila de llamadas en lugares específicos del script.
m.node.js = CreateObject("roNodeJs", "sd:/main.js", {message_port: m.msgPort, node_arguments: ["--inspect-brk=0.0.0.0:2999"]})Ejecutar el depurador

- Escriba script autorun.brs en el indicador para reiniciar el autorun (no necesita reiniciar el reproductor cuando haga cambios si usa este método).
- Una vez que se haya reiniciado el autorun, vaya al inspector de Chromium. Seleccione Configurar... para acceder a las instancias de Node y HTML del reproductor. Necesitará la dirección IP del reproductor para inspeccionar el proceso de Node.
- Debido a que agregamos el parámetro roNodeJs --inspect-brk en el autorun, la ejecución del script se pausa en la primera línea. Seleccione inspeccionar para iniciar el depurador (consulte la Imagen 1). Presione el botón script de currículum en el depurador para ejecutar su código JavaScript y reproducir el video en su pantalla.
- Ingrese la palabra clave depurador en una línea separada de su código JavaScript para establecer un breakpoint. Tendrá que cerrar la aplicación y reiniciarla antes de que el breakpoint se active.
Depurador de BrightSign (Inspector de Node)
El depurador de BrightSign es útil si desea cargar la aplicación en el reproductor para depurarla en lugar de usar un servidor web HTTP. Una vez que se haya cargado en el reproductor, la aplicación puede reiniciarse (si hace esto, no es necesario reiniciar el reproductor).
Para hacer esto:
- Seleccione Ctrl-C para ir al indicador de Depurador de BrightScript.
- Escriba salir para ir al indicador de BrightSign.
- Escriba script autorun.brs para reiniciar la aplicación.
Funciones en versiones recientes del SO
Escriba nodo sin parámetros para obtener una shell interactiva de Node y luego introduzca JavaScript, que se evalúa inmediatamente:
BrightSign> node
> process.release
{ name: 'node',
lts: 'Dubnium',
sourceUrl:
'https://nodejs.org/download/release/v10.15.3/node-v10.15.3.tar.gz',
headersUrl:
'https://nodejs.org/download/release/v10.15.3/node-v10.15.3-headers.tar.gz' }
>Type Ctrl-D to exit Node and return to the BrightSign prompt, or you can give it the name of a script to run:BrightSign> node sd:/hello.js
Hello world
BrightSign>Si desea conectar un depurador remoto a su proceso de Node, puede pasar --inspect como de costumbre. Mostrará la URL del depurador:
BrightSign> node --inspect=0.0.0.0:1234 sd:/hello.js
Debugger listening on ws://0.0.0.0:1234/c67ca30e-388b-49b2-baf4-9924d94f0ac6
For help, see: https://nodejs.org/en/docs/inspector
Hello worldFunciones que requieren SO 8.3.1 o posterior
Si desea depurar de forma interactiva en la consola, use node inspect (sin guiones). Iniciará el inspector y luego se conectará a él localmente:
BrightSign> node inspect sd:/hello.js
< Debugger listening on ws://127.0.0.1:9229/2c63116d-d1d4-4248-81b4-718217bef35e
< For help, see: https://nodejs.org/en/docs/inspector
< Debugger attached.
Break on start in file:///storage/sd/hello.js:1
> 1 (function (exports, require, module, __filename, __dirname) { console.log("Hello world");
2
3
debug>Si tiene un programa de un solo archivo o empaquetado con webpack que se encuentra en un host remoto, puede pasar una URL http o https a Node. BrightSign obtendrá el archivo y lo ejecutará (esto no funciona si el programa necesita otros recursos que espera encontrar en el cwd).
BrightSign> node http://192.168.82.66/test.js
Hello
BrightSign>Si desea ejecutar su programa dentro de Chronode (el Node.js integrado en Chromium) en lugar del Node independiente, use htmlplay chronode. Esto es similar a htmlplay, excepto que espera recibir la URL de un archivo .js en lugar de un sitio html:
Tenga en cuenta que en este caso la salida va al registro del sistema y no a la consola de shell.
BrightSign> htmlplay chronode http://192.168.82.66/test.jsSi desea conectar el depurador a un programa o sitio web que haya iniciado con htmlplay, configure esta opción antes de cargar la página:
BrightSign> htmlplay params inspector-port 1234
BrightSign> htmlplay http://www.brightsign.biz/