# TotalAPI och Componentator service gränser

> Kontrollera den inaktiverade TotalAPI-branschen och Componentator lokalt återanvändning utan att göra externa service samtal.

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

`TotalAPI(operation, data)` Delegater till `API('TAPI', operation, data)`Den inbyggda föraren skickar begäran till den regionala slutpunkten som valts av `CONF.$tapiurl`med hjälp av en konfigurerad token som `CONF.secret_totalapi`. `.promise()` och `.callback()` Använd samma API-byggare som andra drivare. `$tapi:false`andra verksamheter än förarens särskilda `check` Operationen misslyckas lokalt med `totalapi_inactive`.

`COMPONENTATOR(name, components, removeprev=true, attrs='')` bestämmer ett offentligt filnamn, lagrar dess URL i `REPO[name]` och tar bort den från Componentator endast när filen är frånvarande. med `removeprev:true` kan äldre matchande filer tas bort. händelsen `componentator` får namnet/komponenten metadata före sökningen. Denna funktion returnerar innan dess async-filsystem/ nedladdning arbete har slutförts.

För lokalt medföljande frontend-resurser undviker man beroende av fjärr-bundles tillgänglighet genom att servera kända filer. För en riktig integration med TotalAPI eller Componentator, verifiera separat din exakta tjänst, inloggningsuppgifter, nätverksbeteende och det returnerade innehållet. Dessa tjänster är valfria och inte beroenden som krävs för att starta en inbyggd Total.js-applikation.

```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' });
	});
};
```
