【问题标题】:Grails 3.0 static html in run-app运行应用程序中的 Grails 3.0 静态 html
【发布时间】:2015-10-02 20:13:11
【问题描述】:

关于 grails 2(.3, .4),之前有人提出过类似的问题。我觉得很奇怪,我找不到这样做的方法,因为这对我来说似乎是一个标准的用例。

我只是想在运行 grails run-app 时提供 html 页面,包括它们链接的 .css 和 .js(角度和 jquery 内容)。

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

afaik grails run-app 只需启动一个 jetty/tomcat - 显然两者都可以提供 .html 页面。我需要做什么才能让 grails 开发工具部署我的文件?

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

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

我尝试将文件放在项目结构中的任何位置(/src/main/src/main/resources/src/main/public、assets 文件夹及其子文件夹,在每个子目录、Init、域、conf 中创建了 web-app 目录目录 - 你命名它)

【问题讨论】:

  • 您有没有想过如何将链接的CSSjs 文件加载到静态HTML 文件中,同时将HTML 保存在src/main/resources/public 目录下?例如,grails 将我的bootstrap.css 保留在grails-app/assets/bower/bootstrap/bootstrap.css 之下。所以在我的静态HTML 中引用这个被证明是很困难的。

标签: angularjs grails


【解决方案1】:

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

然后将此添加到UrlMappings.groovy:

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


对于 grails >= 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

【讨论】:

  • 我正在寻找在 grails 3.1.7 中放置此模式的位置。它在application.yml, grails: resources: pattern: '/**'
【解决方案2】:

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

UrlMappings.groovy "/"(uri: "/index.html")

application.yml grails: resources: pattern: '/**'

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

【讨论】:

  • 这是在 Grails 3.1.14,FWIW 中
猜你喜欢
  • 2014-12-07
  • 1970-01-01
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2016-07-20
相关资源
最近更新 更多