如果使用grails asset-pipeline插件,如何处理css中的图像位置?

how to handle the image location in css if using grails asset-pipeline plugin?

jquery.flipcountdown.css文件为:

1
2
3
4
5
.xdsoft_flipcountdown.xdsoft_size_lg >.xdsoft_digit{
width:53px;
height:76px;
background-image:url(./img/digit-lg.png);
}

目录结构为

1
2
3
4
+flipcountdown-master
 + img
   - digit-lg.png
 - jquery.flipcountdown.css

问题是:在这种情况下如何使用资产管道。

1:将css放在assets / stylesheets下,并将img文件夹放在assets / images文件夹下?它可以工作吗?

2:将css文件和img文件夹全部放到asset / stylesheets文件夹中,我很确定它可以工作,但是asset-pipeline可以gzip吗?

我不太擅长js / css,我花了很多时间在Youtube上阅读Asset-Pipeline文档和视频,但我仍然不知道如何正确使用它。

提前

thx


您可以在此处执行以下操作:

如果要利用资产管道插件提供的组织结构,请将.css文件放置在asset / stylesheets目录中,并将图像放置在Assets / images目录中,然后将./img/digit-lg.png的任何引用更改为digit-lg.png(您还可以指定/assets/digit-lg.png/assets/images/digit-lg.png并获得相同的结果)。目录结构如下所示:

1
2
3
4
5
6
├── assets
│ ├── images
│ │ ├── digit-lg.png
│ ├── javascripts
│ └── stylesheets
│     └── jquery.flipcountdown.css

grails资产管道在解析资产时会忽略顶级图像,javascript和样式表文件夹,因为它们纯粹是出于组织目的。

或者,因为这是第三方样式表,所以最好保持.css文件不变,并使内容自成体系。您可以仅将flipcountdown-master目录添加到assets/目录或assets/stylesheets/,将css背景图像url设置为./img/digit-lg.png,一切正常。这是这种情况下的结构:

1
2
3
4
5
6
7
8
├── assets
│ ├── images
│ ├── javascripts
│ └── stylesheets
│     └── flipcountdown-master
│           └── img
│               └── digit-lg.png
│         └── jquery.flipcountdown.css

资产管道非常灵活,但是您对组织资产感到最自在,不仅有一种做事方法。管道拾取的任何文件都可以进行gzip压缩。


这是示例应用程序。

尤其要查看包含外部库的application.jsapplication.css

只需从github克隆应用程序,运行应用程序,然后单击索引页面即可。您应该在索引页面上看到一个倒计时时钟。