tutorial - ¿Qué significa la bandera Node.js `--nolazy`?
update node js (5)
¿Puedo sugerir utilizar el shell y el node --help
escritura? node --help
Cuando uso --nolazy
, finalmente puedo depurar asincrónicamente con IntelliJ, ya que los puntos de interrupción se detienen en el lugar correcto. Pero no puedo encontrar ningún documento en --nolazy
...
¿Qué significa " --nolazy
?
Como han dicho otros, puede ver las opciones de línea de comandos para v8 con
node --v8-options
Allí, puedes ver un listado de - --lazy
:
--lazy (use lazy compilation)
type: bool default: true
v8 usa una forma bastante común de describir booleanos: prefijar el indicador con no
para establecerlo en falso y usar solo el indicador para establecerlo en verdadero. Así que --nolazy
establece la bandera lazy
en falso.
Nota: node
usa una convención ligeramente diferente: allí, usa el prefijo no-
(note el guión) para establecer bools en false. Por ejemplo, --no-deprecation
es un indicador de node
.
Para que alguien sepa, si depura el nodo js (especialmente la depuración remota) y utiliza la codificación de tipo asíncrono que debe tener ya que esta es la naturaleza del nodo, deberá ejecutar el nodo con la bandera de -nolazy
node --nolazy --debug-brk sample1.js
esto forzará al motor V8 a realizar una compilación completa de código y, por lo tanto, funcionará correctamente con IntelliJ y WebStorm para que pueda colocar correctamente los puntos de interrupción en el código y no tener que usar el; depurador; cadena que v8 busca ...
Espero que esto ayude a alguien, seguro que me ayudó :)
Sean.
consulte: https://vscode-docs.readthedocs.io/en/stable/editor/debugging/
Por motivos de rendimiento, Node.js analiza las funciones dentro de los archivos JavaScript de forma lenta en el primer acceso. Como consecuencia, los puntos de interrupción no funcionan en las áreas de código fuente que no han sido vistas (analizadas) por Node.js.
Como este comportamiento no es ideal para la depuración, VS Code pasa la opción --nolazy a Node.js automáticamente. Esto evita el análisis retrasado y garantiza que los puntos de interrupción se puedan validar antes de ejecutar el código (para que ya no "salten").
Dado que la opción --nolazy puede aumentar el tiempo de inicio del objetivo de depuración de manera significativa, puede optar por pasar fácilmente un --zy como un atributo runtimeArgs.
correr
node --v8-options
le mostrará todas las banderas disponibles.
BTW: bandera más cercana que he encontrado para ti es
--lazy
significa compilación perezosa, que creo que es obvio por su nombre