Image Grails资源插件、模块和<;r:img>;渲染图像?

Image Grails资源插件、模块和<;r:img>;渲染图像?,image,grails,plugins,module,Image,Grails,Plugins,Module,尝试学习资源插件 据我所知,它有助于定义“资源”,如css和javascript文件,并在需要时自动将它们拉入gsp。我了解如何创建模块,然后使用标签等加载模块 我不明白的是: 因此,我在Config.groovy中创建了一个名为“images”的模块,如下所示: grails.resources.modules = { images { resource url:'/images/view.jpg', attrs:[width: 1280, height:720 , a

尝试学习资源插件

据我所知,它有助于定义“资源”,如css和javascript文件,并在需要时自动将它们拉入gsp。我了解如何创建模块,然后使用标签等加载模块

我不明白的是:

因此,我在Config.groovy中创建了一个名为“images”的模块,如下所示:

grails.resources.modules = {
    images {
        resource url:'/images/view.jpg', attrs:[width: 1280, height:720 , alt: 'my view']
        resource url:'/images/breakfast.jpg', attrs:[width: 1280, height:720, alt: 'breakfast']
    }
}
<head>
  <r:require modules="jquery-ui, blueprint"/>
</head>
这些资源包含在标题部分的.gsp页面中,如下所示:

grails.resources.modules = {
    images {
        resource url:'/images/view.jpg', attrs:[width: 1280, height:720 , alt: 'my view']
        resource url:'/images/breakfast.jpg', attrs:[width: 1280, height:720, alt: 'breakfast']
    }
}
<head>
  <r:require modules="jquery-ui, blueprint"/>
</head>

我知道资源已成功添加到head部分,因为当我检查页面源时,我在那里看到它们:

<link href="/ResourceTest/static/Aa7jV0N2qZjOz7TLZ9cl5cREIh2y5jJYV0ytn4nQg9r.jpg" rel="shortcut icon" width="1280" height="720" alt="my view" />
<link href="/ResourceTest/static/IpQBSjrYeLDdSUBGbP3jhf6Kkhvu1zV3XRtwWfKOIMn.jpg" rel="shortcut icon" width="1280" height="720" alt="breakfast" />

我的问题是:如何使用图像资源?我的意思是,我知道如果是javascript,导入资源可以让你使用html代码中的函数,但是对于图像,网站说“一旦你这样做了,使用引用它们将自动设置宽度、高度和其他属性。”

怎么做?我尝试了以下方法:

<r:img module="images">
<r:img alt="breakfast">

还有少数人没有成功

工作原理是:

<r:img uri="/images/breakfast.jpg">

但是,无论您是否使用r:require标记添加模块,这都是有效的。。那么,在图像中使用这个插件有什么意义呢?我该如何使用它呢?

这个
标签与我们的无
标签配合得很好

require标记的要点是防止资源重复。例如,假设您有多个依赖jQuery的javascript资源,并且它们都是必需的。增加另一层复杂性:假设您实际上通过sitemesh将不同的gsp模板整合在一起,并且它们都有自己的资源依赖关系。如果您只是将普通HTML代码放在每个gsp布局的标题中引用这些资源,那么您可能会在页面标题中得到它们的多个实例,这可能会带来问题。使用resources插件可以确保只获得所需资源的一个实例

见和


但是,对于图像,这并不是真正必要的。如果您在一个页面上有一个图像不止一次,可能是因为您需要它,或者是因为您正在应用冗余布局,需要进行一些重构。因此,require标记对通过
调用的图像没有多大作用,这是正确的。这仅仅是因为图像是一种不同的资源,所以它们的处理方式不同。别担心

当您执行
操作时,它不只是从资源条目添加宽度和高度吗?至少它在文档中是这么说的……如果它只是这么做的话——那么我想这很酷。。当我把标签注释掉的时候,没有什么区别。。所以我猜它在生产模式下有助于/处理缓存、gzip等东西