1

我最近将一个 grails 应用程序升级到 2.4.3,并在此过程中将资源插件升级到 1.2.14。我意识到此时资产插件是首选,但我还不能进行切换。我在 ApplicationResources.groovy 中定义了以下内容

modules = {
  core {
    resource url: '/js/main.js', disposition: 'head'
    resource url: '/lib/bootstrap/css/bootstrap.css', disposition: 'head'
    ... more here
  }
}

当我运行该应用程序时,我得到以下信息:

| Error 2015-02-01 23:13:40,005 [localhost-startStop-1] ERROR resource.ResourceMeta  - Resource not found: /lib/bootstrap/css/bootstrap.css

如果您查看我附上的图片,您会发现该文件确实位于正确的位置,并且它适用于旧版本的资源插件。

静态资源目录结构

4

2 回答 2

1

Grails 资源插件使用grails.resources.adhoc.patternsgrails.resources.adhoc.includesConfig.groovy来确定要处理的资源。也许这种行为在不同版本之间发生了变化,您需要像这样添加 lib 目录:

grails.resources.adhoc.patterns = ['/images/*', '/css/*', '/js/*', '/plugins/*', '/lib/bootstrap/css/*']
grails.resources.adhoc.includes = ['/images/**', '/css/**', '/js/**', '/plugins/**', '/lib/bootstrap/css/**']
于 2016-01-06T23:32:17.420 回答
0

我知道这是一个非常古老的问题,但认为我的发现会对某人有所帮助。如果我们放在grails.resources.resourceLocatorEnabled = false文件中,Config.groovy那么它应该可以工作。无需添加grails.resources.adhoc属性。

于 2019-03-29T11:43:36.907 回答