Wie kann die Routenverfolgung in Angular 2 programmatisch aktiviert werden?

9

Ich weiß, dass ich das Tracing auf dem Angular 2 Router aktivieren kann:

%Vor%

Gibt es eine Möglichkeit, diesen Wert programmatisch festzulegen?

Ich habe eine config.json-Datei, die eine Reihe von Anwendungseinstellungen hat. Ich möchte eine boolesche Eigenschaft hinzufügen, mit der gesteuert werden kann, ob die Ablaufverfolgung aktiviert ist oder nicht. Ich möchte lieber nicht, dass der Kunde die Datei ändern kann, die meine Routen enthält, aber ich habe immer noch die Möglichkeit, die Ablaufverfolgung zu aktivieren, um Edge-Fälle zu debuggen, die nicht von Tests abgefangen wurden.

Ich bin OK mit dem Neustart der Anwendung, aber nicht OK mit dem Wiederaufbau.

  

[Aktualisierung]   Nach dem Betrachten der Router-Quelle sieht es ohne eine Pull-Anforderung nicht machbar aus. Einfache Erklärung dessen, was die Änderung sein müsste:

  1. Fügen Sie in router.ts eine öffentliche Eigenschaft namens tracing: boolean
  2. hinzu
  3. In router_module.ts :: setupRouter:

    • Ändern %Vor%

      bis

      %Vor%

    • Ändere das Observable: %Vor%

      bis

      %Vor%

3. Wahrscheinlich müssen Sie etwas über die Tracing-Eigenschaft hinzufügen.

Mit diesen Änderungen könnte man Router importieren und dann die Eigenschaft router.tracing setzen, um sie ein- und auszuschalten.

Ich habe keine Ahnung, was der Leistungsunterschied zwischen dem Ausgeben aller Ereignisse ohne Abonnenten und dem Ausgeben aller Ereignisse mit einem gefilterten Abonnement ist.

    
Nick 14.01.2017, 00:19
quelle

1 Antwort

1

Für jetzt gibt es keinen expliziten Weg, es programmatisch zu machen. Unsere Problemumgehung besteht darin, es nur für local development zu aktivieren, damit wir alle Details / Ausnahme-StackTrace usw. erhalten können. Etwas wie:

%Vor%     
Leon li 31.08.2017 02:30
quelle

Tags und Links