问题1:Angular 2应用程序部署在JBOSS服务器上但无法加载静态内容(js / css)。问题是网站是在它自己的上下文(localhost:8080 / sample /)下托管的,而静态资源在index.html中引用为(link href =" css / index.css" rel =&#34 ; stylesheet")但是,当对localhost:8080 / css / index.css进行网络调用时,它不会被加载。
我需要它指向localhost:8080 / sample / css / index.css
问题2:或者我们尝试在tomcat上托管角度应用程序,但服务需要托管在jboss上,我们尝试实施CROS过滤器(https://amodernstory.com/2014/12/27/using-cors-headers-with-java-example/),但第一个请求通过,但其他请求在Chrome网络中显示待处理状态& #39; s标签。
答案 0 :(得分:3)
我遇到了同样的问题。要使其加载静态内容,您需要将index.html中的基本href设置为“./”。我发现“。”也有效。然后应用程序应该正确加载,但是你会遇到另一个问题:如果你试图直接使用地址栏访问任何应用程序路径,你会看到“Not Found”。这似乎与JBoss重写HTML5 URL并将其重定向到索引的能力有关。我正在尝试使用此页面上的信息解决该问题:https://issues.jboss.org/browse/JDF-512。如果我成功,我会通知你。
答案 1 :(得分:0)
您可以创建带有正确引用“ /sample/css/index.css”的index.prod.html。然后在angular.json中添加以下内容
"production": {
"fileReplacements": [
{
"replace": "src/index.html",
"with": "src/index.prod.html"
}