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 容器。
添加回答
舉報