Aktivieren bedingter Features mit einem benutzerdefinierten Filter in einer JavaScript-Anwendung
Featureflags können Featurefilter verwenden, um Features bedingt zu aktivieren. Weitere Informationen zu Featurefiltern finden Sie unter Aktivieren von bedingten Features mit Featurefiltern.
Das in diesem Leitfaden verwendete Beispiel basiert auf der Node.js-Anwendung, die im Schnellstart zur Featureverwaltung eingeführt wurde. Bevor Sie fortfahren, führen Sie die Schnellstartanleitung aus, um eine Node.js-Anwendung mit einem Featureflag namens Beta zu erstellen. Nach Abschluss müssen Sie dem Beta-Featureflag in Ihrem App Configuration-Speicher einen benutzerdefinierten Featurefilter hinzufügen.
In diesem Artikel erfahren Sie, wie Sie einen benutzerdefinierten Featurefilter implementieren und verwenden, um Features bedingt zu aktivieren. Wir verwenden die Node.js-Konsolen-App als Beispiel, aber Sie können auch den benutzerdefinierten Featurefilter in anderen JavaScript-Anwendungen verwenden.
Voraussetzungen
- Erstellen Sie eine Konsolen-App mit einem Featureflag.
- Hinzufügen eines benutzerdefinierten Featurefilters zum Featureflag
Implementieren eines benutzerdefinierten Featurefilters
Sie haben einen benutzerdefinierten Featurefilter namens Random mit einem Percentage-Parameter für Ihr Beta-Featureflag in den Voraussetzungen hinzugefügt. Als Nächstes implementieren Sie den Featurefilter, um das Beta-Featureflag basierend auf der durch den Percentage-Parameter definierten Chance zu aktivieren.
Öffnen Sie die Datei app.js, und fügen Sie
RandomFilter
mit dem folgenden Code hinzu.class RandomFilter { name = "Random"; evaluate(context) { const percentage = context.parameters.Percentage; const randomNumber = Math.random() * 100; return randomNumber <= percentage; } }
Sie haben die
RandomFilter
-Klasse hinzugefügt, die über eine einzelne Methode namensevaluate
verfügt, die immer dann aufgerufen wird, wenn ein Featureflag ausgewertet wird. Inevaluate
aktiviert ein Featurefilter ein Featureflag, indemtrue
zurückgegeben wird.Sie haben den Namen von
RandomFilter
auf Random festgelegt. So entspricht der Name dem Filternamen, den Sie im Featureflag Beta in der Azure App-Konfiguration festgelegt haben.Registrieren Sie
RandomFilter
beim Erstellen vonFeatureManager
.const fm = new FeatureManager(ffProvider, {customFilters: [new RandomFilter()]});
Featurefilter in Aktion
Wenn Sie die Anwendung ausführen, lädt der Konfigurationsanbieter das Featureflag Beta aus Azure App Configuration. Das Ergebnis der isEnabled("Beta")
-Methode wird in der Konsole ausgegeben. Wenn RandomFilter
implementiert und vom Featureflag Beta verwendet wird, ist das Ergebnis 50 Prozent der Zeit True
und die anderen 50 Prozent der Zeit False
.
Bei der Ausführung der Anwendung sehen Sie, dass das Featureflag Beta manchmal aktiviert ist und manchmal nicht.
Beta is enabled: true
Beta is enabled: false
Beta is enabled: false
Beta is enabled: true
Beta is enabled: true
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: true
Beta is enabled: true
Nächste Schritte
Wenn Sie mehr über die eingebauten Featurefilter erfahren möchten, fahren Sie mit den folgenden Dokumenten fort.