3
Ich möchte einige bestimmte Code auf Pub Build überspringen.Dart überprüfen, ob Gebäude ist
Beispiel:
Log.print ('etwas $ {StackTrace.current}');
Ich möchte, dass der obige Code nicht in JS in der Produktion umgewandelt wurde.
Für Neugier "Umwelt" (nicht verwechseln mit OS Umgebungsvariablen) zu
pub build
und lesen Sie es in CodeSee passieren kann: Wenn ich Setzen Sie die gesamte Log.print-Funktion in eine Assert, die Aufrufe für die Funktion werden auch durch das Baumwackeln entfernt? – Jonathan
Ja. Es sollte auch entfernt werden, wenn Sie es außerhalb von 'assert (...)' lassen und es nur von innen aufrufen. Wenn es nicht von irgendwoher verwendet wird, sollte Tree-Shaking es entfernen, auch wenn es aus Code verwendet wird, der es nicht in die Build-Ausgabe bringt, wie der in 'assert (...)'. –
Siehe [Eliminierung von Eliminierung kompilierter Zeit mit dart2js] (http://blog.sethladd.com/2013/12/compile-time-dead-code-elimination-with.html) und [bool.fromEnvironment doc] (https : //api.dartlang.org/stable/1.22.0/dart-core/bool/bool.fromEnvironment.html) für weitere Informationen –