# Ladda upp applikationsresurser och undvika löptidspaket överraskningar

> Kör LOAD i en separat process och verifiera att NPMINSTALL återanvänder ett redan tillgängligt paket utan nätverksåtkomst.

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

`LOAD(types, [callback], [clear=true])` är applikationens laddare. `types` är en array eller kommaseparerad lista med resursgrupper (som `config`, `definitions`, `controllers`, `actions`, `modules`, `resources`, `jsonschemas`, `flowstreams`). Utan lista laddar den de vanliga applikationsgrupperna. Den packar först upp bundles och rensar som standard temporära filer. Använd den i ett fristående skript när du behöver applikationsdefinitioner utan att starta en HTTP-lyssnare; anropa den inte upprepat i en förfrågningshanterare.

`NPMINSTALL(name, [callback])` kontrollerar paketet under `CONF.$nodemodules`: en redan installerad matchande version återvänder utan att köra npm. Annars anropar den `npm install` där. Namnet måste vara ett betrott fast applikationsvärde, aldrig indata från en förfrågan. Driftsätt beroenden via ett fastlåst paketmanifest eller lockfile när reproducerbarhet spelar roll. Testet nedan täcker bara grenen med det installerade paketet: det laddar inte ner, uppgraderar eller certifierar något tredjepartspaket.

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