# Nabíjejte zdroje aplikace a vyhněte se překvapení balíčku

> Spustit LOAD v samostatném procesu a ověřit NPMINSTALL opětovné použití již dostupného balíčku bez přístupu k síti.

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

`LOAD(types, [callback], [clear=true])` je loader aplikace. `types` je pole nebo seznam skupin zdrojů oddělený čárkami (například `config`, `definitions`, `controllers`, `actions`, `modules`, `resources`, `jsonschemas`, `flowstreams`). Bez seznamu načte běžné skupiny aplikace. Nejprve extrahuje bundle a ve výchozím stavu vyčistí dočasné soubory. Použijte jej v samostatném skriptu, když potřebujete definice aplikace bez spuštění HTTP listeneru; nevolejte jej opakovaně v handleru požadavku.

`NPMINSTALL(name, [callback])` zkontroluje balíček v `CONF.$nodemodules`: již nainstalovaná odpovídající verze se vrátí bez spuštění npm. Jinak tam spustí `npm install`. Název musí být důvěryhodná pevná hodnota aplikace, nikdy vstup požadavku. Když záleží na reprodukovatelnosti, nasaďte závislosti přes připnutý manifest balíčků nebo lockfile. Test níže pokrývá jen větev nainstalovaného balíčku: nestahuje, neaktualizuje ani necertifikuje žádný balíček třetí strany.

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