在前端加载一堆角度指令和其他js文件

时间:2015-05-06 21:12:41

标签: javascript angularjs

是否有使用angular的最佳实践来拥有外部javascript文件的通用列表并将该列表导入到不同的模板HTML文件中?我的想法是,我可以拥有一个全局的脚本列表,我只需将其导入到任何模板中。

基本上我想要的是一个单独的html文件,其中包含所有js脚本。该文件可能包含角度取决于的指令,即

<script src="my_script.html">
<script src="another_script.html">
<script src="angular_directive.html">
...

然后我想将这些内容导入angular_template.htmlanother_angular_template.html。在前端有这么好的方法吗?我发现的主要问题是我想在这个全局文件中包含Angular指令,但是如果你这样做,那么angular就不能初始化了,因为该文件中的指令可能是应用程序所依赖的上。因此,像ng-include这样的东西并没有削减它。

我愿意使用普通的旧javascript或jquery,如果有必要的话。我该如何做到这一点?

1 个答案:

答案 0 :(得分:2)

如果您需要它的脚本,请尝试RequireJS - http://requirejs.org/docs/start.html

它不仅会在单个包含后面为您处理所有这些,而且它还将仅加载您需要的内容,并且它将并行加载脚本。有这样的解决方案,但我建议深入研究这个解决方案是如何解决的。

你的html文件中最终只会有一个脚本 - 如下所示:

<script data-main="scripts/main" src="scripts/require.js"></script>

然后你将拥有一个脚本(本例中为main.js),它将保存您想要提供的脚本的配置,以及您想要保留的任何代码集。你的脚本会有这样的感觉:

define(['angular.js','myscript.js'], function() {
   ...your dependent script goes here...
});

此外,它有一个很好的配置系统,因此您可以在一个地方手动设置依赖项。那么你几乎可以省去我上面写的模块verbage。但是模块已经存在了一段时间,它是一件好事。

或者,$ script完全相同。不是功能齐全,但它很小 - http://www.dustindiaz.com/scriptjs