2014-02-17 42 views
0

我一个新的角度,并徘徊了以下问题的可重用性:模块化和angularjs

假设我想提供一些用户界面功能,如使用的角度和使用其它角度模块插件, 它自己的(例如https://github.com/angular-ui/ui-router)。

我想弄清楚什么是最低要求(需要改变)从托管HTML页面可以使用我的新directive(假设指令是收官这样的UI功能的正确途径。

所以我知道我需要明显在主html页面中包含angular.js, ,并且还需要在HTML处添加ng-app到某些元素(即具有我的新指令的元素的祖先/容器)。 我还需要包含一些JS,我将在其中实现该指令作为我的模块的一部分。

如果p age已经有一个ng-app在它内部创建,那么它可能只是添加我的模块作为其现有App(模块)的依赖关系。

现在如果我想在模块中使用另一个模块会发生什么?

这是否意味着主要的HTML页面需要知道它包含JS与“第三方”或我自己的子/辅助模块?还是有一些我自己的模块会加载JS的依赖?

当然,可能是我没有想到的这个正确......随时来指导我...

回答

0

这是否意味着主HTML页面需要知道它的包括JS与“第三方”或我自己的子/辅助模块?还是有一些我自己的模块会加载JS的依赖?

是和否。

是的,“第三方”库必须被包括在某处,但不一定在HTML文件中。

它可以包含在您自己的html中(例如,Twitter Bootstrap库,如果用户没有包含jQuery,则会抛出错误),或者它可以被自己的库包装(通过ajax调用,复制粘贴缩小版本等等。更多细节here)。

+0

有没有最佳做法如何在角度做到这一点?我的意思是,如果两个组件需要相同版本的某个库 - 它不会被加载两次? – epeleg