Angular modulok dinamikus betöltése

Van egy meglehetősen nagy méretű Angular appunk, ami elég sok külső plugint használ. A klasszikus megközelítés ugye az, hogy

angular.module('appName', ['requirement1','requirement2',....]);

Ez azt jelentette, hogy egy csomó js file-t betöltöttünk, ott is, ahol nem voltak használatban, totál feleslegesen. Miután ma egész nap túrtam a netet, és nem találtam igazán egyszerű megoldást, rápróbáltam egy faék egyszerű megoldásra, és működik. Abba a controllerbe, ahol szükség van az adott modulra, betesszük ezt:

(function(){
'use strict';
angular.module('appName').requires.push('requirement');
//business as usual from here...
angular.module('appName').controller('WhateverCtrl', WhateverCtrl);
....
})();

(John Papa style guide, ha esetleg furi a syntax.)

Az adott plugin kódját meg csak abba az oldalba tesszük bele, ahol kell.

Hátha valakinek jól jön. :)

1 Like