# Carga los recursos de la aplicación y evita las sorpresas del paquete de tiempo

> Ejecutar LOAD en un proceso separado y verificar NPMINSTALL reutilización de un paquete ya disponible sin acceso a la red.

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

`LOAD(types, [callback], [clear=true])` es el cargador de la aplicación. `types` es un array o una lista separada por comas de grupos de recursos (como `config`, `definitions`, `controllers`, `actions`, `modules`, `resources`, `jsonschemas`, `flowstreams`). Sin lista carga los grupos normales de la aplicación. Extrae primero los bundles y borra por defecto los archivos temporales. Úsalo en un script independiente cuando necesites las definiciones de la aplicación sin iniciar un listener HTTP; no lo llames repetidamente en un manejador de peticiones.

`NPMINSTALL(name, [callback])` comprueba el paquete en `CONF.$nodemodules`: una versión coincidente ya instalada vuelve sin ejecutar npm. En caso contrario invoca `npm install` allí. El nombre debe ser un valor fijo de la aplicación y de confianza, nunca una entrada de una petición. Despliega las dependencias mediante un manifiesto de paquetes o un lockfile fijados cuando importe la reproducibilidad. El test de abajo cubre solo la rama del paquete instalado: no descarga, actualiza ni certifica ningún paquete de terceros.

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