Soru Node.js `--nolazy` bayrağı ne anlama geliyor?


Kullandigimda --nolazySonunda, kesme noktalarının doğru yerde durmasıyla IntelliJ ile eşzamansız olarak hata ayıklayabilirim. Ancak hiçbir doküman bulamıyorum --nolazy...

Nedir --nolazy anlamına gelmek?


32
2018-02-03 18:14


Menşei




Cevaplar:


Kimseye izin vermemek için, js (özellikle uzak hata ayıklama) düğümünü ayıklarsanız ve bu düğümün doğası gereği asenkron kodlama kullanırsanız, düğümü -nolazy bayrağıyla çalıştırırsınız.

node --nolazy --debug-brk sample1.js

Bu, kodun tam bir derlemesini yapmak için V8 motorunu zorlayacaktır ve böylece IntelliJ ve WebStorm ile düzgün bir şekilde çalışacak ve böylece kod noktalarını düzgün bir şekilde koyabildiğinizden ve hata ayıklayıcısını kullanmanız gerekmeyecek; v8 hangi dizi arar ...

Umarım bu birisine yardım eder, bana yardımcı oldu :)

Sean.


48
2018-02-04 18:01





Diğerleri söyledikleri gibi, v8 için komut satırı seçeneklerini görebilirsiniz

node --v8-options

Orada, bir girişi görebilirsiniz --lazy:

--lazy (use lazy compilation)
      type: bool  default: true

v8 booleanları tanımlamak için oldukça yaygın bir yol kullanıyor. no false olarak ayarlamak ve yalnızca bayrağı true değerine ayarlamak için kullanın. Yani --nolazy ayarlar lazy false bayrağı.

Not: node biraz farklı bir kongre kullanıyor - orada no- önekleri false olarak ayarlamak için önek (tire notu). Örneğin, --no-deprecation bir node bayrağı.


8
2018-02-03 19:23





bakın: https://vscode-docs.readthedocs.io/en/stable/editor/debugging/

Performans nedenleriyle, Node.js, JavaScript dosyalarının içindeki fonksiyonları ilk erişimde tembel olarak ayrıştırır. Sonuç olarak, kesme noktaları Node.js. tarafından görülemeyen (ayrıştırılmış) kaynak kod alanlarında çalışmaz.

Bu davranış hata ayıklama için ideal olmadığından, VS Kodu --nolazy seçeneğini otomatik olarak Node.js'ye geçirir. Bu, gecikmeli ayrıştırmayı önler ve kesme noktalarını kod çalıştırmadan önce doğrulanabilmesini sağlar (böylece artık "atlama" olmaz).

--Nolazy seçeneği, hata ayıklama hedefinin başlangıç ​​zamanını önemli ölçüde artırabileceğinden, --lazy'yi runtimeArgs özniteliği olarak geçirerek kolayca kapatabilirsiniz.


2
2017-08-05 23:54





Koşmak

node --v8-options

Size tüm mevcut bayrakları gösterecektir.

btw: senin için bulduğum en yakın bayrak

--lazy

ismiyle açık olduğuna inanıyorum tembel derleme, anlamına gelir


-1
2018-02-03 18:31





Kabuk ve yazı kullanmayı önerebilirim node --help


-4
2018-02-03 18:25



ya ben --lazy buldum ama sanırım nolazy belgelenmiş değil, ama sanırım v8 motoru kısayolları kullanmaz ve daha yavaş olan tam bir kod derleme yapmaz ama IntelliJ veya WebStorm ile uzaktan hata ayıklama yaparken gerekli gibi görünüyor. .. kodlayıcılar için gerçekten yararlı bilgiler gelebilir ... - born2net