【问题标题】:Adding static resources (css,js,htm) to grails 3 application将静态资源(css、js、htm)添加到 grails 3 应用程序
【发布时间】:2016-08-09 09:20:27
【问题描述】:

我是 grails 的初学者。
我想向 grails 应用程序添加一些静态资源,并将它们从 url 映射中排除。
我在 UrlMappings groovy 中添加了以下行:

class UrlMappings {
    static excludes = ['/resources/*']
...

但我不知道如何为应用程序和最终战争添加资源。 build.gradle 中可能有设置。
我想打开可以使用静态 js/css/images 的静态 html。
像这样:localhost:8080/resources/index.html

提前致谢

【问题讨论】:

  • 谢谢! @emmanuel-rosa 好吧,我想在我的项目中使用 npm 包管理器,资源文件夹中可能有数百个 js/css/other 文件。可能有一个强大的解决方案,它只是自动将包含所有内容的文件夹添加到战争中,并静态处理其中的资源。感谢任何帮助

标签: grails grails-3.0 grails-3.1


【解决方案1】:

从 Grails 2.4 开始,静态资源由 Asset Pipeline plugin 管理。它有据可查,但相当于将静态内容放置在:

  1. grails-app/assets/javascripts
  2. grails-app/assets/样式表
  3. grails-app/assets/images

然后使用 <asset> 标签将它们拉入您的 GSP 视图:

<asset:javascript src="something.js"/>
<asset:stylesheet src="something.css"/>
<asset:image src="something.png" width="200" height="200"/>

这很简单,只需阅读documentation

【讨论】:

  • 谢谢! @emmanuel-rosa 好吧,我想在我的项目中使用 npm 包管理器,资源文件夹中可能有数百个 js/css/other 文件。可能有一个强大的解决方案,它只是自动将包含所有内容的文件夹添加到战争中,并静态处理其中的资源。感谢任何帮助
  • 谢谢!这个链接也很有用,svene.github.io/adocblog/html/…
【解决方案2】:

请参阅有关静态资源的 grails 文档。 https://gsp.grails.org/latest/guide/resources.html

请注意以下有关资产管道替代方案的信息。

如果您不想使用 Asset-Pipeline 插件,您可以从目录 src/main/resources/public 或 src/main/webapp 提供静态资产,但后者仅包含在 WAR 打包中,但不包含在 JAR 包装中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 2016-06-27
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    相关资源
    最近更新 更多