在运行时在Angular中注入模块

时间:2015-05-18 20:33:04

标签: javascript angularjs

我有这个Angular(1.3.15)代码:

var my_app = angular.module('my_app', ["ui.bootstrap", "toastr"]);

my_app.module("template/foo/bar.html", []).run([$templateCache, function($templateCache) { /* ... global template ... */ }]);

注入bootstrap和toastr库并创建我在所有其他JS文件中使用的模板。

现在,并非所有文件都需要ui.bootstrap,但考虑到我将其放在我的global.js文件中(无论是否加载了每个页面),Angular都抱怨缺少库(ui.bootstrap)。

我的问题是:我可以只在我需要的控制器中注入ui.bootstrap并保留gobal.js这样的内容:

var my_app = angular.module('my_app', ["toastr"]);

此外,这适用于我当前在我的全局JS文件中加载的其他一些库,而不仅仅是ui.bootstrap

1 个答案:

答案 0 :(得分:0)

一种方法是通过某种规则将代码拆分为多个模块。这样,只有需要ui.bootstrap的模块才会将其作为依赖项,其他模块则不会。

如果那还不够干净,那么您可能需要查看Browserify