Angular deploy-url开关的问题

时间:2017-05-23 10:30:32

标签: angular tomcat spring-boot angular-ui-router angular-cli

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

ng build --deploy-url /mywebapp/

该应用有效,但仍然存在以下问题:

  1. 每次我必须手动将基本href标签更改为<base href="/mywebapp/">。为什么这不是在构建过程中自动完成的?
  2. 资源&#39;的静态资源的所有路径。目录也必须手动更改为&#39; / mywebapp / assets&#39; (即<img src="/mywebapp/assets/logo.png">
  3. 浏览器刷新路由器链接URL(子路径)不再起作用。 (即http://localhost:8080/mywebapp/feature1的角度导航有效,但如果我想在浏览器中刷新相同的网址则不起作用。我只能刷新根网址http://localhost:8080/mywebapp/

1 个答案:

答案 0 :(得分:1)

每当你建立

构建它
ng build --base-href .

这将解决您的问题#1&amp; #2

问题3

此SO帖子将有效 angular html5mode in tomcat apache 8.5.4 gives 404 on page refresh

  1. 添加/opt/tomcat/conf/context.xml
  2. <!-- 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