3 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個贊
要在 Tomcat 中部署 Angular 8 應(yīng)用程序,只需執(zhí)行以下命令:
ng build --base-href=/應(yīng)用程序名稱
調(diào)用角度
build要求 Angular 構(gòu)建當(dāng)前應(yīng)用程序
–base-href”告訴 Angular 創(chuàng)建一個參考目錄,生成的 index.html 文件將放置在其中。因此,在當(dāng)前情況下,生成的文件需要放置在tomcat 目錄結(jié)構(gòu)中的/webapps/ app-name文件夾中。
請注意,當(dāng)命令成功運(yùn)行時,它會在項(xiàng)目文件夾/dist文件夾中創(chuàng)建所有必需的文件。
另外,當(dāng)您復(fù)制文件(或在本例中為文件夾)時,請確保重新啟動 tomcat。

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個贊
作為替代方案,您可以在架構(gòu)師 > 構(gòu)建下的 angular.json 中配置 href:
?"scripts": [],
?"baseHref": "/app-name/",
?"deployUrl": "/app-name/"
重要的是解決“深度鏈接問題”。官方角度文檔中也提到:服務(wù)器配置
因此取消注釋(或添加)到 tomcat/conf/server.xml
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />?
并創(chuàng)建包含內(nèi)容的文件 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貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個贊
這是一個典型的前端使用Angular、后端使用java的項(xiàng)目案例。我建議您使用 Angular 應(yīng)用程序作為前端應(yīng)用程序,它可以作為微服務(wù)與 java 后端交互。這意味著您可以從 Angular 應(yīng)用程序?qū)?java 的微服務(wù)進(jìn)行剩余調(diào)用。您可以使用如下命令運(yùn)行 Angular 應(yīng)用程序,npm install
前提npm start
是您應(yīng)該在系統(tǒng)中安裝 Node JS。用紗線會更好比 npm 更好的命令。您不需要將基于 Angular 的應(yīng)用程序部署到 Tomcat 中,您可以開發(fā)基于 java 的微服務(wù)并將其部署到 Tomcat 中。我建議使用 Spring Boot 創(chuàng)建一個微服務(wù),您可以直接運(yùn)行,而無需將 Tomcat 作為單獨(dú)的服務(wù)器。Spring Boot 提供內(nèi)置的嵌入式 Tomcat 容器。
添加回答
舉報(bào)