如何在两个项目之间共享Angular应用程序

时间:2016-05-04 09:12:54

标签: angularjs git

我有一个网页,它使用Angular和自己的控制器,指令等。

我需要创建另一个页面,这个页面必须加载相同的Angular应用程序,两个项目之间的区别只是模板。

我不想为控制器的每次更改更新两个不同的项目。

如何在两个项目之间共享代码的最佳解决方案? 并将其添加到git的更好方法(实际上我只有一个git存储库用于应用程序和第一个应用程序的模板)

更新

该应用具有此结构

/var/www/site-a/htdocs/
                      |- index.html
                      |- /app
                      |    |- app.js
                      |    |- directives.js
                      |    |- controllers.js
                      |    |- filters.js
                      |    |- /templates
                      |- /css
                      |- /images
                      |- /bower_components

/ app文件夹下的所有代码(/ templates除外)都是相同的 我认为有两种方式:

A)两个不同的应用

网站A

/var/www/site-a/htdocs/
                      |- index.html
                      |- /app
                      |    |- config.js
                      |    |- /templates
                      |- /css
                      |- /images
                      |- /bower_components

网站B

/var/www/site-b/htdocs/
                      |- index.html
                      |- /app
                      |    |- config.js
                      |    |- /templates
                      |- /css
                      |- /images
                      |- /bower_components

共享应用文件的网站

/var/www/site-app/htdocs/
                      |- app.js
                      |- directives.js
                      |- controllers.js
                      |- filters.js

在这种情况下,我在Git上有三个项目,app和controller是相同的

B)一个应用

/var/www/site-app/htdocs/
                      |- index.html
                      |- /app
                      |    |- app.js
                      |    |- directives.js
                      |    |- controllers.js
                      |    |- filters.js
                      |    |- /templates
                      |             |- /site-a
                      |             |- /site-b
                      |- /css
                      |    |- /site-a
                      |    |- /site-b
                      |- /images
                      |    |- /site-a
                      |    |- /site-b
                      |- /bower_components

在这种情况下,我只有一个git项目

但我有些疑惑:

  • 如何将不同的CSS加载到index.html中?我需要不同的站点指向不同的索引文件吗?
  • 如何为每个站点加载不同的模板(或配置文件)?我可以根据网站网址设置不同的设置吗?

哪种解决方案更好?

1 个答案:

答案 0 :(得分:0)

我认为您可以使用变量链接到模板吗?

我没试过,但也许可以使用:

.directive('myDirective', function() {
  return {
    template: linkToTheTemplate
  };
});

与控制器和路线相同。