运行应用程序中的Grails 3.0静态html

时间:2015-07-14 09:12:26

标签: angularjs grails

关于Grails 2(.3,.4)之前已经提出了类似的问题。我觉得很奇怪,我找不到办法做到这一点,因为它似乎是我的标准用例。

当我运行grails run-app时,我只想提供html页面,包括链接的.css和.js(angular和jquery内容)。​​

我想检查双方是否正确处理了我的http调用 - 无需部署.war并配置数据库。

afaik grails run-app只是启动了一个jetty / tomcat - 这两个显然可以提供.html页面。我需要做些什么来使grails开发工具部署我的文件?

我需要发出http请求, 所以使用不同的服务器会违反JS-SOP, 虽然部署.war会大大减慢开发过程

到目前为止,我只发现了笨重的jsonp,代理,.war部署解决方案或grails 2.x的解决方案

我尝试将文件放在项目的任何地方。结构(*.xcodeproj/src/main/src/main/resources,资产文件夹及其子文件夹,在每个子目录中创建的web-app目录,Init,domain,conf目录 - 您的名字)

2 个答案:

答案 0 :(得分:16)

index.html添加到src/main/resources/public

然后将其添加到UrlMappings.groovy

"/"(redirect:"/index.html")

<小时/> 对于grails&gt; = 3.0.12

  

静态资源的位置

     

解决有关如何处理POST请求的问题   REST应用程序在不存在的资源上,静态资源位于   在src / main / resources / public中现在在/ static / ** URI下解析   默认情况下,而不是基URI / **。如果你想恢复   以前的行为添加以下配置:

     

grails.resources.pattern ='/ **'

https://github.com/grails/grails-core/releases/tag/v3.0.12

答案 1 :(得分:3)

与接受的答案相反,您不需要重定向。我已经能够使用以下配置来完成这项工作:

<强> UrlMappings.groovy "/"(uri: "/index.html")

<强> application.yml grails: resources: pattern: '/**'

最后,您只需要将index.html文件放在src/main/webapp