# Pobierz zasoby aplikacji i unikać niespodzianek w pakiecie runtime

> Przeprowadź LOAD w odrębnym procesie i sprawdź ponowne wykorzystanie już dostępnego pakietu NPMINSTALL bez dostępu do sieci.

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

`LOAD(types, [callback], [clear=true])` to loader aplikacji. `types` to tablica lub lista grup zasobów oddzielonych przecinkami (takich jak `config`, `definitions`, `controllers`, `actions`, `modules`, `resources`, `jsonschemas`, `flowstreams`). Bez listy ładuje zwykłe grupy aplikacji. Najpierw wypakowuje bundle i domyślnie czyści pliki tymczasowe. Używaj go w samodzielnym skrypcie, gdy potrzebujesz definicji aplikacji bez uruchamiania nasłuchiwacza HTTP; nie wywołuj go wielokrotnie w handlerze żądania.

`NPMINSTALL(name, [callback])` sprawdza pakiet w `CONF.$nodemodules`: już zainstalowana pasująca wersja wraca bez uruchamiania npm. W przeciwnym razie wywołuje tam `npm install`. Nazwa musi być zaufaną stałą wartością aplikacji, nigdy danymi z żądania. Wdrażaj zależności przez przypięty manifest pakietów lub lockfile, gdy liczy się powtarzalność. Poniższy test obejmuje tylko gałąź zainstalowanego pakietu: nie pobiera, nie aktualizuje ani nie certyfikuje żadnego pakietu strony trzeciej.

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