【发布时间】:2020-02-01 23:11:18
【问题描述】:
我已经完成了一个关于 Angular 的教程,我想将它部署到我的 tomcat 服务器中。我使用 eclipse 来触发在 localhost:8080 中打开的 tomcat 服务器(我使用/只知道 java 作为后端)。这个 Angular 项目将 Firebase 作为后端,而不是 java。我打算使用java作为后端,因此我需要将它部署在tomcat中。是的,我已经尝试了在堆栈溢出和 YouTube 中找到的所有内容。 即,
-
ng build --prod --aot --base-href=/myapp,将其放入webapps/myapp/<files-from-angular-dist>并在 tomcat 中尝试root/myapp/<files-from-angular-dist>。 -
base href =".",base href ="./",base href ="/",并放在根目录和 webapps 的 dist 文件夹中,但它不起作用。 - 不使用 AOT 编译器(IDK 我为什么这样做)。
- 将它放在我的动态 web 应用程序(一个旧的 java 项目)的 webcontent 文件夹中。
我该怎么办?
- Apache Tomcat 版本 - 9.0.22
- Eclipse 地区 - 2019 年 6 月
- Angular - 8.2.0(来自
ng version)
【问题讨论】:
-
如果你不需要 SSR 你只需要一个 tomcat 服务器来为每个未知的请求发送给用户,比如 localhost:4200/login file index.html。
-
如果您使用 firebase,您可以更轻松地在 firebase 托管上发送应用程序。在 firebase 托管服务器中设置为
"source": "**", "destination": "/index.html",这意味着所有未知的源都发送index.html文件。 -
我对 Angular 中的 SSR 一无所知。另外,如何将包括 404 在内的所有未知请求重定向到 index.html
-
我不打算使用 firebase 作为后端。我打算用java开发自己的后端。
-
我也不知道如何将未知查询重定向到 tomcat 服务器中的
index.html文件。 Firebase 托管并不是真正的后端,它只是管理向用户提供必要文件的请求。我不知道您是否知道 Angular 单页应用程序是您将所有文件发送给用户,而他的浏览器就像后端一样工作。这就是为什么您可以将 Angular 应用程序发送到 Firebase 托管并设置应用程序以将 http 查询发送到您的后端服务器以解决业务逻辑,如果您不想将其显示给用户。您的后端将像 REST 服务或宏/微服务一样工作。