【发布时间】:2016-08-29 15:10:16
【问题描述】:
我有一个使用 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 上有三个项目,应用程序和控制器是相同的
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 中?我需要不同的站点指向不同的索引文件吗?
- 如何为每个站点加载不同的模板(或配置文件)?我可以根据网站 URL 进行不同的设置吗?
哪种解决方案更好?
【问题讨论】:
-
如果模板映射 1:1,这太好了,难以置信,我会将 HTML 放入具有相同结构的两个不同目录中,并添加存储当前目录值的提供程序以从中获取模板。两个应用程序将具有不同的瘦入口点模块,它们具有相同的依赖项,但提供者配置不同。
-
@Klaster_1 你能解释一下如何为每个站点(入口点)加载不同的配置吗?