哪里包括去Angularjs的templateURL?

时间:2014-12-12 12:38:23

标签: angularjs

对不起,这显然是一个初学者的问题。我在Grails应用程序中运行Angular并运行良好。现在我已经定义了一个有效控制所需的指令。该指令使用'templateUrl' - 也可以正常工作。

然而,这是我不知道的简单部分。我将把include包含在指令只需要的javascript库中?也就是说,声明如下:

<link href="css/bootstrap.css" rel="stylesheet" />
<script src="js/bootstrap.js"></script>

我现在已将它们放在主页面中,但这似乎并不完全正确。这些是指令的依赖关系,而不是页面的依赖关系。从维护的角度来看,如果该指令因更改而被删除,那么有谁会知道删除其他链接? 注意:我的指令已经在公开声明中 - 如果重要的话。

2 个答案:

答案 0 :(得分:1)

这是一个更大的依赖管理问题。这有三条路线:

  1. 将其包含在主index.html中(与您一样)并将其声明为文档中的依赖项。觉得难看?当然。但这是很多事情的完成方式。
  2. 使用requirejs http://requirejs.org它是一个模块加载器,因此至少代码本身可以显式声明其依赖项。
  3. 使用browserify http://browserify.org它也是一个模块加载器,但遵循UMD / CommonJS,与节点完全相同。
  4. 我从#1开始,然后#2开始了一段时间,但最近转移到#3。文件更清晰,使用npm可以更轻松地管理依赖项。

答案 1 :(得分:0)

在index.html中加载所有外部资源是常见的方法(SPA加载所有资源一次),但不是必须的。

为了实现您的目标,您需要使用外部工具,我们使用RequireJS(Browserify也很好),这样您就可以控制加载到页面中的源。

结帐:

RequireJS official site

Using RequireJS in Angular Applications