# TotalAPI und Componentator Service Grenzen

> Überprüfen Sie die gesperrte TotalAPI-Filiale und Componentator lokalen Cache ohne externe Serviceanrufe.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: de
Content-SHA256: bbb051235416a23b5fb1cdcbecb31b9bca7c371d94ef2f1c96492aa3c24fe50e
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

`TotalAPI(operation, data)` Delegate zu `API('TAPI', operation, data)`Der integrierte Fahrer sendet Anfragen an das von `CONF.$tapiurl`mit einem konfigurierten Token wie `CONF.secret_totalapi`. `.promise()` und `.callback()` Verwenden Sie den gleichen API-Builder wie andere Fahrer. `$tapi:false`Operationen, die nicht vom Fahrer speziell `check` Die Operation fehlte lokal `totalapi_inactive`.

`COMPONENTATOR(name, components, removeprev=true, attrs='')` bestimmt einen öffentlichen Dateinamen, speichert seine URL in `REPO[name]` und fängt es von Componentator Nur wenn die Datei fehlt. mit `removeprev:true`ältere Datei können gelöscht werden. `componentator` Das Ereignis erhält die Metadaten des Namens/Komponenten vor der Suche. Diese Funktion kehrt zurück, bevor das Async-Datei-System/Download-Arbeit abgeschlossen ist; die repo-URL allein ist kein Beweis für den Erfolg der Download.

Bei lokal mitgelieferten Frontend-Assets vermeidet das Ausliefern bekannter Dateien die Abhängigkeit von der Verfügbarkeit entfernter Bundles. Für eine echte Integration von TotalAPI oder Componentator prüfe separat deinen genauen Dienst, die Zugangsdaten, das Netzwerkverhalten und den zurückgegebenen Inhalt. Diese Dienste sind optional und keine Abhängigkeiten, die zum Starten einer nativen Total.js-Anwendung nötig sind.

```text config
$tapi : false
```

```js controllers/remote.js
exports.install = function() {
	ROUTE('GET /disabled-api/', async function($) {
		try { await TotalAPI('forge-fixture-no-service', {}).promise(); $.json({ unexpected: true }); }
		catch (e) { $.json({ error: String(e) }); }
	});
	ROUTE('GET /cached-componentator/', function($) {
		var components = 'forge-local-fixture';
		var relative = 'ui-' + components.makeid() + '.min.js';
		F.Fs.writeFileSync(PATH.public(relative), '/* local fixture */');
		COMPONENTATOR('fixture', components, false);
		$.json({ url: REPO.fixture, expected: '/ui-' + components.makeid() + '.min.js' });
	});
};
```
