【问题标题】:Angular 2 application deployed on JBOSS 6.4 eap with java services as backendAngular 2 应用程序部署在 JBOSS 6.4 eap 上,Java 服务作为后端
【发布时间】:2017-07-04 09:13:19
【问题描述】:

问题 1:Angular 2 应用程序部署在 JBOSS 服务器上但无法加载静态内容 (js/css)。问题是网站托管在它自己的上下文(localhost:8080/sample/)下,静态资源在 index.html 中被称为(link href="css/index.css" rel="stylesheet")但是它没有得到在对 localhost:8080/css/index.css 进行网络调用时加载。

我需要它指向 localhost:8080/sample/css/index.css

问题 2:或者,我们尝试在 tomcat 上托管 Angular 应用程序,但服务需要托管在 jboss 上,我们尝试实现 CROS 过滤器 (https://amodernstory.com/2014/12/27/using-cors-headers-with-java-example/) 但第一个请求通过但其他请求在 Chrome 网络选项卡中显示待处理状态。

【问题讨论】:

    标签: java angular jboss6.x


    【解决方案1】:

    我也有同样的问题。要让它加载静态内容,您需要将 index.html 中的基本 href 设置为“./”。我找到了那个“。”也有效。然后应用程序应该可以正确加载,但是您会遇到另一个问题:如果您尝试使用地址栏直接访问任何应用程序路由,您将看到“未找到”。这似乎与 JBoss 重写 HTML5 URL 并将它们重定向到索引的能力有关。我正在尝试使用此页面上的信息解决该问题:https://issues.jboss.org/browse/JDF-512。如果我成功了,我会通知你的。

    【讨论】:

    • 感谢 Mate,在 index.html 的基本 href 中添加“./”的解决方案对我有用。但现在面临另一个问题,即在 jboss 6.4 中部署时我没有得到 webapi 的响应,但它在 tomcat 中运行良好。
    【解决方案2】:

    您可以使用对“/sample/css/index.css”的正确引用来创建 index.prod.html。然后在 angular.json 中添加以下内容

    "production": {
              "fileReplacements": [
                {
                  "replace": "src/index.html",
                  "with": "src/index.prod.html"
                }
    

    【讨论】:

      猜你喜欢
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      • 2018-09-08
      • 2020-03-09
      • 2017-04-15
      • 1970-01-01
      • 2013-12-29
      相关资源
      最近更新 更多