一尘不染

Angular deploy-url开关问题

tomcat

我想将带有angular-frontend的spring-boot webapp部署到tomact-server。我使用angular-
cli和以下突击队构建了角度应用程序

ng build --deploy-url /mywebapp/

该应用程序可以运行,但是仍然存在以下问题:

  1. 每次我必须将base href标记手动更改为时<base href="/mywebapp/">。为什么在构建过程中不会自动完成此操作?
  2. “ assets”目录的静态资源的所有路径也必须手动更改为“ / mywebapp / assets”(即<img src="/mywebapp/assets/logo.png">
  3. 浏览器刷新路由器链接URL(子路径)不再起作用。(即,角度导航到http:// localhost:8080 / mywebapp / feature1可以,但如果我想在浏览器中刷新相同的URL,则无法正常工作。我只能刷新根URL http:// localhost:8080 / mywebapp /

阅读 1221

收藏
2020-06-16

共1个答案

一尘不染

每当你建立

用它构建

ng build --base-href .

这将解决您的问题#1和#2

对于问题3

这样的SO Post将在tomcat Apache8.5.4中工作角度html5mode,在页面刷新上给出404

  1. 添加在/opt/tomcat/conf/context.xml中

<!-- REWRITE VALVE --> <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" /> <!-- // -->

  1. 在特定项目WEB-INF文件夹中添加rewite.config文件,其内容如下。在/opt/tomcat/webapps/projectName/WEB-INF/rewrite.config上 RewriteCond %{REQUEST_URI} !^.*\.(bmp|css|gif|htc|html?|ico|jpe?g|js|pdf|png|swf|txt|xml|svg|eot|woff|woff2|ttf|map)$ RewriteRule ^(.*)$ /index.html [L] ,此操作是针对每个重定向到index.html的路由请求
2020-06-16