# TotalAPI et limites de service Componentator

> Vérifiez la branche TotalAPI désactivée et le réutilisation de la caisse locale Componentator sans faire des appels de service externes.

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

`TotalAPI(operation, data)` Les délégués à `API('TAPI', operation, data)`Le conducteur intégré envoie des demandes au point de fin régional sélectionné par `CONF.$tapiurl`Utiliser un token comme `CONF.secret_totalapi`. `.promise()` et `.callback()` Utilisez le même constructeur API que les autres conducteurs. `$tapi:false`- les opérations autres que celles du conducteur `check` L’opération n’est pas localisée `totalapi_inactive`.

`COMPONENTATOR(name, components, removeprev=true, attrs='')` détermine un nom public, stocke son URL dans `REPO[name]` et le capturer de Componentator Si le fichier n’est pas disponible, avec `removeprev:true`Les anciens fichiers peuvent être supprimés. `componentator` L'événement reçoit les métadonnées du nom/composant avant la recherche. Cette fonction retourne avant que son travail de synthèse / téléchargement soit terminé; seul l'URL de repo n'est pas une preuve de succès de télécharement.

Pour des ressources frontend fournies localement, servir des fichiers connus évite de dépendre de la disponibilité de bundles distants. Pour une intégration réelle de TotalAPI ou de Componentator, vérifiez séparément votre service exact, les identifiants, le comportement du réseau et le contenu renvoyé. Ces services sont facultatifs et ne sont pas des dépendances nécessaires pour démarrer une application Total.js native.

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