# Laden Sie die Anwendungsressourcen und vermeiden Sie Runtime-Paket Überraschungen

> Laden Sie LOAD in einem separaten Prozess durch und überprüfen Sie NPMINSTALL erneut einen bereits verfügbaren Paket ohne Netzwerkzugang.

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

`LOAD(types, [callback], [clear=true])` ist der Anwendungs-Loader. `types` ist ein Array oder eine kommagetrennte Liste von Ressourcengruppen (wie `config`, `definitions`, `controllers`, `actions`, `modules`, `resources`, `jsonschemas`, `flowstreams`). Ohne Liste lädt er die normalen Anwendungsgruppen. Er extrahiert zuerst Bundles und löscht standardmäßig temporäre Dateien. Verwende ihn in einem eigenständigen Skript, wenn du Anwendungsdefinitionen ohne HTTP-Listener brauchst; rufe ihn nicht wiederholt in einem Request-Handler auf.

`NPMINSTALL(name, [callback])` prüft das Paket unter `CONF.$nodemodules`: Eine bereits installierte passende Version kehrt zurück, ohne npm auszuführen. Andernfalls ruft es dort `npm install` auf. Der Name muss ein vertrauenswürdiger fester Anwendungswert sein, niemals Request-Eingabe. Stelle Abhängigkeiten über ein festgepinntes Paketmanifest oder Lockfile bereit, wenn Reproduzierbarkeit wichtig ist. Der Test unten deckt nur den Zweig des installierten Pakets ab: Er lädt kein Drittanbieter-Paket herunter, aktualisiert es nicht und zertifiziert es nicht.

```js controllers/loading.js
exports.install = function() {
	ROUTE('GET /loader-contract/', function($) { $.json({ available: typeof LOAD === 'function' && typeof NPMINSTALL === 'function' }); });
};
```
