Node.js-quickstart
Binnen een paar minuten evalueert je Node-service feature flags in-process — geen netwerkstap per controle, geen latentie in je verzoekpad, één poll die elk verzoek bedient dat je proces afhandelt.
Nul runtime-dependencies: het dependencies-blok van het package bestaat niet, en blijft
dat.
1. Installeren
Section titled “1. Installeren”De SDK is pre-release en zijn repository is nog niet publiek. Heeft je team toegang gekregen, installeer hem dan rechtstreeks uit de repository:
npm install github:FortressFlag/FortressFlag_SDK_nodeHet package is ESM-only. Op Node 22 en later kan CommonJS-code hem ook laden met een
gewone require("@fortressflag/sdk-node").
2. De serversleutel — een echt geheim
Section titled “2. De serversleutel — een echt geheim”Deze SDK gebruikt een serversleutel (ffs_…), en die is het tegenovergestelde van de
clientsleutels die de mobiele en web-SDK’s meesturen: hij kan je volledige ruleset
downloaden, targetingregels inbegrepen. Behandel hem precies als een databasewachtwoord —
een omgevingsvariabele of een secret manager, nooit code, nooit een repository, nooit een
log. De twee sleutelklassen, naast elkaar.
3. Start de client
Section titled “3. Start de client”import { create } from "@fortressflag/sdk-node";
let client;try { client = create({ key: process.env.FF_SERVER_KEY });} catch (error) { // De ene plek waar de SDK gooit: een misvormde sleutel, voordat er iets serveert. console.error(error); process.exit(1);}
await client.start(AbortSignal.timeout(15_000)); // resolvet bij de eerste ruleset (of de deadline)
// ... je service draait; flagcontroles zijn nu functieaanroepen in het geheugen.start rejectt nooit — kan de eerste fetch niet op tijd landen, dan blijft de client het
op de achtergrond proberen en krijgen je aanroepers intussen hun fallbacks. En de poller
houdt je proces nooit in leven: is je code klaar, dan stopt Node zoals altijd.
4. Evalueer een flag
Section titled “4. Evalueer een flag”const enabled = client.bool( "new-checkout", { key: "user-42", // je stabiele contextsleutel: een gebruikers-id, een sessie-id — jouw keuze tags: { cohort: "beta" }, }, false, // de fallback als de flag onbekend is of er nooit iets is opgehaald);client.string en client.number werken op dezelfde manier. De context-key is waar
percentage-rollouts op bucketten — geef consequent dezelfde identifier mee en elke
gebruiker krijgt een stabiel cohort. Het zijn jouw gegevens: de SDK valideert, bewaart of
logt ze nooit.
Dat is het — je service evalueert flags lokaal. Een dashboardwijziging bereikt elk proces binnen ongeveer een minuut.
Evaluatie faalt nooit
Section titled “Evaluatie faalt nooit”bool, string en number geven altijd antwoord en gooien nooit — een flagprobleem mag
nooit je service neerhalen. Een herstart proces serveert je fallbacks van de aanroepplek
tot zijn eerste fetch landt (of zet cachePath in de configuratie om de laatste ruleset
naar een bestand naar keuze te bewaren, en herstarts hervatten er onmiddellijk uit). Zelfs
een ingetrokken sleutel breekt niets: de SDK blijft evalueren met de laatst gedownloade
ruleset tot je hem een nieuwe sleutel geeft.
Waar nu heen?
Section titled “Waar nu heen?”- Hoe flags je app bereiken — het server plane, uitgelegd
- Sleutels — munt, roteer en trek
ffs_-sleutels in - Targeting — de regels die je service nu evalueert