【发布时间】:2022-01-13 23:55:01
【问题描述】:
我在 Angular 中有两个不同的项目(一个在 6 版,另一个在 7 版),每个项目都有自己的路由模块。
我必须将它们合并到一个域网址中。要清楚,我必须这样做:
my-domain.com -> 转到第一个应用程序。
my-domain.com/app2/ --> 转到第二个应用程序,并且第一个应用程序应该有一些按钮可以重定向到第二个应用程序。
如果更容易做到 my-domain.com 可以重定向为 my-domain.com/app1。
这些项目已经在 AWS 云中使用 docker 和 apache 进行了配置。现在我有两个不同的域和负载均衡器指向单独的 ECS。
我尝试做一些 apache 配置:
<VirtualHost *:80>
ServerName my-domain.com
LoadModule auth_openidc_module modules/mod_auth_openidc.so
####
configuration for OIDC plugin
###
DocumentRoot /var/www/html/my-app/www/
Alias / "/var/www/html/my-app/www/"
<Directory /var/www/html/my-app/www/>
Options FollowSymLinks
DirectoryIndex index.html
AllowOverride FileInfo Options
AllowOverride All
Order allow,deny
RewriteEngine On
RewriteBase /
RewriteRule ^manifest.json /base/manifest.json [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/* /index.html [L]
</Directory>
Alias /app2 "/var/www/html/my-app/www/app2/"
<Directory /var/www/html/my-app/www/app2/>
Options FollowSymLinks
DirectoryIndex index.html
AllowOverride FileInfo Options
AllowOverride All
Order allow,deny
RewriteEngine On
RewriteBase /
RewriteRule ^manifest.json /base/manifest.json [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/* /index.html [L]
</Directory>
</VirtualHost>
但不幸的是没有按预期工作。
第二个累来自那篇中篇文章:https://medium.com/disney-streaming/combining-multiple-angular-applications-into-a-single-one-e87d530d6527
由于新的 Angular 可以创建子项目:
ng generate application app1 –-routing
ng generate application app2 –-routing
因为它是简单的应用程序,就像教程中一样,按预期工作,但是在迁移我的应用程序时,每个模块都有一个错误:
ERROR in ./projects/app1/src/app/modules/contact-page-module/contact-page.module.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
Error: my-app/projects/app1/src/app/modules/contact-page-module/contact-page.module.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
at AngularCompilerPlugin.getCompiledFile (my-app/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:752:23)
at plugin.done.then (my-app/node_modules/@ngtools/webpack/src/loader.js:41:31)
at process._tickCallback (internal/process/next_tick.js:68:7)
已经阅读了子应用中多个模块的问题。
{
path: 'home',
loadChildren: '../modules/home-page-module/home-page.module#HomePageModule',
}
我在互联网最黑暗的一面找不到任何解决方案,也没有自己弄清楚。
当然,我可以将来自两个应用程序的代码合并为一个,但我希望将它和每个存储库分开。
谢谢,
【问题讨论】:
标签: angular apache amazon-web-services angular-routing amazon-ecs