【问题标题】:grails3 static picture request get 404grails3静态图片请求获取404
【发布时间】:2019-03-01 01:01:16
【问题描述】:

我想将angular6.0注入grails 3.3.0,具体是我有2个项目,第一个是angular6.0前端项目,第二个是grails3.3.0后端提供http服务。

angular 项目有一些简单的页面,就像

  1. http://localhost:8080/
  2. http://localhost:8080/project-list
  3. http://localhost:8080/download

我从这个article 得到一些想法。

当 Angular 项目完成后,我运行 build 并得到一个 dist 文件夹,我将 dist 下的所有文件和文件夹复制到 src/main/webapp 下的 grails

enter image description here

然后在 IDE 中启动 grails 服务。OK 我可以访问http://localhost:8080/,但是所有静态图片请求我得到 404。

enter image description here

当我运行 grails war 脚本并使用 'java -jar' 运行它时,我可以访问 http://localhost:8080/ 并且所有图片请求都可以,太好了。

但是如果我刷新'http://localhost:8080/project-list'的页面,我得到404,我知道为什么,但我不知道如何解决它。

有人帮忙吗?谢谢

【问题讨论】:

    标签: grails angular6


    【解决方案1】:

    几天后,我有了一些想法,虽然不好但可以解决一些问题。

    首先,Angular 项目应该在 url 中使用 #(可能意味着哈希,抱歉我不确定)运行,就这样做

    RouterModule.forRoot(routes, {useHash: true})
    

    这还不够,如果你只是这样做,当你在开发环境中运行你的角度项目时,你可能会遇到一些错误,就像https://github.com/angular/angular-cli/issues/10582,我不知道,但如果你用 -aot 启动项目只是喜欢

    ng serve --aot 
    

    错误消失了。 构建angular项目并将dist文件夹复制到grails中,然后启动grails项目,静态图片仍然不行,不知道。当你执行'war'并使用'java -jar'运行war文件时,当你访问http://localhost:8080,everything时就可以了。

    就是这样,如果你有什么好主意,请告诉我,谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 2022-06-12
      相关资源
      最近更新 更多