角度js模块&架构设计:多个index.html

时间:2015-09-19 13:29:54

标签: javascript angularjs ngboilerplate angular-seed

问题:

我有一个存在多个ng-app的网站,每个ng-app都有一个angular-seed架构的独立文件夹(这意味着每个文件夹都有自己的index.html)。现在在它们之间共享模块是痛苦的。每个应用程序都不能使用相同的bower_components或我编写的任何常见服务。我怎样设法做到这一点?

我的病情的独特性

为什么我要将它们分隔在不同的文件夹中并使用自己的index.html?在我的情况下,不同的ng-app服务于不同类型的用户,他们通常会登录到一个ng-app,一个且只有一个。我不想为一个特定的ng-app加载所有文件。

我的试验:

我发现this blog post有一个可用的架构。它只是使用MainApp模块来包含所有子应用程序模块。但是,启动时在一个index.html中加载所有子应用程序文件会不会很昂贵?对于角度而言,其性能声誉不佳。还是我太担心了?

1 个答案:

答案 0 :(得分:0)

问题是你有多个index.html并且每个都有一个不同的模块?我明白了吗?因此,您可以在链接中的主模块中使用依赖关系。然后,您可以共享它们之间的所有数据。对于路由,你可以使用ngRoute,就像之前的sais一样,甚至更好的更高级的ui-router。根据您的性能问题,它取决于应用程序的大小,因此您应该告诉更多详细信息。而且您不需要在开头加载所有文件,也可以在需要时动态加载一些文件。您可以像下面这样使用jQuery getScript:

    if ($("css-selektor").length){
    $.getScript("file.js");
    }