我正试图打包我的spring boot webservice和angular 6应用程序,以便可以将其部署在WAS 8.5服务器中。 我在angular上做了一个示例应用程序,并做了“ ng build --prod”。 然后跟随这个答案Is it possible to deploy Angular app on IBM Websphere Application Server?。 我已将角度应用程序的/ dist文件夹的输出复制到Web模块并添加了web.xml。
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Spring Boot Liberty</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
在我尝试部署战争并显示页面后,它显示为空白页面。 后端Rest服务运行良好。因此,我可能缺少一些库或文件来运行angular js部分,或者可能还有其他步骤。
请帮助。
答案 0 :(得分:1)
可能正在发生的事情是您的Angular应用程序没有意识到应用程序的上下文根-这就是为什么您能够通过手动编辑已构建的html文件中的链接资源的路径来使事情正常进行的原因。
有两种处理方法:
index.html
文件(不是Angular编译器生成的文件)。寻找标签<base href="/">
(或引号中的其他值)并对其进行编辑以包括应用程序的上下文根。在您的评论中,您提到了其中带有/HelloWorld
的路径,因此我认为标记应类似于<base href="/HelloWorld">
。<base href>
提供的值。 一旦进行了这些更改之一,构建的index.html
查找其链接的.js
/ .css
文件的路径应与应用程序服务器实际为其服务的路径对齐在,您应该会看到您的页面。
如果仍然没有看到期望的结果,请右键单击浏览器中的页面,然后单击检查元素。转到可能名为控制台的标签,然后在其中查找任何错误。那应该为您提供其他可能出问题的线索。