Inyectar el módulo dinámicamente, solo si es necesario.

Estoy usando Require.js en combinación con Angular.js.

Algunos controladores necesitan enormes dependencias externas que otros no necesitan, por ejemplo,FirstController requiereCodemirror Angular UI. Eso es un extra de 135 kb, al menos:

require([
  "angular",
  "angular.ui.codemirror" // requires codemirror itself
], function(angular) {
  angular.module("app", [ ..., "ui.codemirror" ]).controller("FirstController", [ ... ]);
});

No quiero tener que incluir la directiva y la biblioteca Codemirror cada vez que mi página se carga solo para hacer feliz a Angular.
Es por eso que ahora estoy cargando el controlador solo cuando se golpea la ruta,como lo que se hace aquí.

Sin embargo, cuando necesito algo como

define([
  "app",
  "angular.ui.codemirror"
], function(app) {
  // ui-codemirror directive MUST be available to the view of this controller as of now
  app.lazy.controller("FirstController", [
    "$scope",
    function($scope) {
      // ...
    }
  ]);
});

¿Cómo puedo decirle a Angular para inyectarui.codemirror módulo (o cualquier otro módulo) en el módulo de la aplicación también?
No me importa si es una forma pirata de lograr esto, a menos que implique modificar el código de las dependencias externas.

Si es útil: Estoy corriendo Angular 1.2.0.

Respuestas a la pregunta(6)

Su respuesta a la pregunta