grails3静态图片请求获取404

时间:2018-09-25 11:52:26

标签: grails angular6

我想向grails 3.3.0中注入angular6.0,详细信息是我有2个项目,第一个是前端的angular6.0项目,第二个是后端提供http服务的grails3.3.0。

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

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

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

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

enter image description here

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

enter image description here

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

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

有人帮助吗?thx

1 个答案:

答案 0 :(得分:0)

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

首先,角度项目应在网址中以#(也许意味着哈希,抱歉,我不确定)运行

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

这还不够,如果您只是这样做,那么在dev env中运行有角度的项目时可能会出错,就像https://github.com/angular/angular-cli/issues/10582一样,我也不知道,但是如果您使用-就像

ng serve --aot 

错误消失了。 建立有角度的项目并将dist文件夹复制到grails,然后启动grails项目,静态图片仍然无法正常运行,不知道。当您执行'war'并使用'java -jar'运行war文件时,访问http://localhost:8080,everything没问题。

仅此而已,如果您有个好主意,请告诉我,谢谢。