3 回答
TA贡献1818条经验 获得超11个赞
要在 Tomcat 中部署 Angular 8 应用程序,只需执行以下命令:
ng build --base-href=/应用程序名称
调用角度
build要求 Angular 构建当前应用程序
–base-href”告诉 Angular 创建一个参考目录,生成的 index.html 文件将放置在其中。因此,在当前情况下,生成的文件需要放置在tomcat 目录结构中的/webapps/ app-name文件夹中。
请注意,当命令成功运行时,它会在项目文件夹/dist文件夹中创建所有必需的文件。
另外,当您复制文件(或在本例中为文件夹)时,请确保重新启动 tomcat。
TA贡献1779条经验 获得超6个赞
作为替代方案,您可以在架构师 > 构建下的 angular.json 中配置 href:
"scripts": [],
"baseHref": "/app-name/",
"deployUrl": "/app-name/"
重要的是解决“深度链接问题”。官方角度文档中也提到:服务器配置
因此取消注释(或添加)到 tomcat/conf/server.xml
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
并创建包含内容的文件 tomcat/conf/Catalina/localhost/rewrite.config
RewriteCond %{REQUEST_PATH} !-f
RewriteRule ^/app-one/(.*) /app-one/index.html [L]
RewriteCond %{REQUEST_PATH} !-f
RewriteRule ^/app-two/(.*) /app-two/index.html [L]
TA贡献1816条经验 获得超6个赞
这是一个典型的前端使用Angular、后端使用java的项目案例。我建议您使用 Angular 应用程序作为前端应用程序,它可以作为微服务与 java 后端交互。这意味着您可以从 Angular 应用程序对基于 java 的微服务进行剩余调用。您可以使用如下命令运行 Angular 应用程序,npm install
前提npm start
是您应该在系统中安装 Node JS。用纱线会更好比 npm 更好的命令。您不需要将基于 Angular 的应用程序部署到 Tomcat 中,您可以开发基于 java 的微服务并将其部署到 Tomcat 中。我建议使用 Spring Boot 创建一个微服务,您可以直接运行,而无需将 Tomcat 作为单独的服务器。Spring Boot 提供内置的嵌入式 Tomcat 容器。
添加回答
举报