Ruby on rails 在Rails/Asset管道中是否可以将多个SVG压缩到一个文件?

Ruby on rails 在Rails/Asset管道中是否可以将多个SVG压缩到一个文件?,ruby-on-rails,ruby-on-rails-3,svg,asset-pipeline,sprockets,Ruby On Rails,Ruby On Rails 3,Svg,Asset Pipeline,Sprockets,正如您所知,您可以将多个CSS文件压缩为一个(或JS文件)。我想知道是否可以将多个SVG压缩到一个外部文件中,以便服务器只发出一个请求 基本上,SVG文件只是XML文本,因此理论上是可能的,但是,如何在不同的位置渲染多个图像有一个难题 我只是想了解一下这个问题的答案,它描述了如何配置资产管道将管理的文件类型:(尽管有标题,但它适用于多种字体) 谢谢你的回答,但最后我还是这样做了: 在我的例子中,我想使用SVG作为div标记的背景图像,因此我不需要预编译SVG,我只需将压缩格式直接放入backgr

正如您所知,您可以将多个CSS文件压缩为一个(或JS文件)。我想知道是否可以将多个SVG压缩到一个外部文件中,以便服务器只发出一个请求

基本上,SVG文件只是XML文本,因此理论上是可能的,但是,如何在不同的位置渲染多个图像有一个难题


我只是想了解一下这个问题的答案,它描述了如何配置资产管道将管理的文件类型:(尽管有标题,但它适用于多种字体)

谢谢你的回答,但最后我还是这样做了:

在我的例子中,我想使用SVG作为div标记的背景图像,因此我不需要预编译SVG,我只需将压缩格式直接放入
background image:url('here')

因此,对于多个SVG背景:

width: 600px:
height: 400px:
background-image: url('data:image/svg+xml ...first svg '), url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjY0MCIgaGVpZ2h0PSI0ODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8IS0tIENyZWF0ZWQgd2l0aCBTVkctZWRpdCAtIGh0dHA6Ly9zdmctZWRpdC5nb29nbGVjb2RlLmNvbS8gLS0+CgogPGc+CiAgPHRpdGxlPkxheWVyIDE8L3RpdGxlPgogIDxwb2x5bGluZSBpZD0ic3ZnXzMiIHBvaW50cz0iNTM4LjUsMzMzLjU2OTU2NDgxOTMzNTk0IDMyMi4yNSwyNzguMjg0NzgyNDA5NjY3OTcgMTA2LDIyMyAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSI1IiBmaWxsPSJub25lIi8+CiAgPGVsbGlwc2UgZmlsbD0iI0ZGMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjUiIGN4PSIzNDMiIGN5PSIxNzAiIGlkPSJzdmdfMSIgcng9IjE0MCIgcnk9IjEwNSIvPgogPC9nPgo8L3N2Zz4=')
请在此处查看:

原始svg格式:

<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg">
 <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->
 <g>
  <title>Layer 1</title>
  <polyline fill="none" stroke-width="5" stroke="#000000" points="538.5,333.56956481933594 322.25,278.28478240966797 106,223 " id="svg_3"/>
  <ellipse transform="translate(-402 -120)" ry="105" rx="140" id="svg_1" cy="290" cx="745" stroke-width="5" stroke="#000000" fill="#FF0000"/>
 </g>
</svg>

第一层
编辑:


我相信答案中的链接是关于某件事的,从我所看到的来看,它可能会起作用,但我自己没有尝试过。因此,如果您想真正使用资产管道预编译SVG,我鼓励您使用这种策略

…可能,我可以将SVG源代码作为主HTML的一部分呈现,但如果它是外部文件,那就更好了