# Изтеглете ресурсите на приложението и избягвайте изненадите за изпълнение

> Извършете LOAD в отделен процес и проверете NPMINSTALL повторно използване на вече наличен пакет без достъп до мрежата.

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

`LOAD(types, [callback], [clear=true])` е зареждачът на приложението. `types` е масив или списък, разделен със запетаи, от групи ресурси (като `config`, `definitions`, `controllers`, `actions`, `modules`, `resources`, `jsonschemas`, `flowstreams`). Без списък зарежда обичайните групи на приложението. Първо извлича bundle-овете и по подразбиране изчиства временните файлове. Използвайте го в самостоятелен скрипт, когато ви трябват дефинициите на приложението без стартиране на HTTP слушател; не го извиквайте многократно в обработчик на заявка.

`NPMINSTALL(name, [callback])` проверява пакета в `CONF.$nodemodules`: вече инсталирана съответстваща версия се връща, без да се изпълнява npm. Иначе там извиква `npm install`. Името трябва да е доверена фиксирана стойност на приложението, никога вход от заявка. Внедрявайте зависимостите чрез закрепен манифест на пакетите или lockfile, когато е важна възпроизводимостта. Тестът по-долу покрива само клона с инсталирания пакет: не изтегля, не надгражда и не сертифицира никакъв пакет на трета страна.

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