gpt4 book ai didi

gruntjs - 供应商 css 图像在连接和缩小后不可用

转载 作者:行者123 更新时间:2023-12-01 02:19:15 29 4
gpt4 key购买 nike

我正在使用 select2在 angular 项目中(使用自耕农)。 Select2 css 位于以下目录中:

bower_components/select2/select2.css
bower_components/select2/select2.png

css 以下列方式使用 select2.png:background-image: url('select2x2.png')

运行 concat 和 minify 后,我有以下结构:

bower_components/select2/d204997b.select2x2
样式/034d1972.vendor.css

但问题是venodr css的select2部分在styles目录下寻找d204997b.select2x2。

这是我的 GruntJS 文件的一部分:

rev: {
dist: {
files: {
src: [
'<%= yeoman.dist %>/scripts/{,*/}*.js',
'<%= yeoman.dist %>/styles/{,*/}*.css',
'<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
'<%= yeoman.dist %>/bower_components/select2/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
'<%= yeoman.dist %>/styles/fonts/*'
]
}
}
},
useminPrepare: {
html: '<%= yeoman.app %>/index.html',
options: {
dest: '<%= yeoman.dist %>'
}
},

usemin: {
html: ['<%= yeoman.dist %>/{,*/}*.html'],
css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
options: {
assetsDirs: ['<%= yeoman.dist %>' ,'<%= yeoman.dist %>/images' , '<%= yeoman.dist %>/bower_components/select2']
}
}

谢谢

最佳答案

我找不到这样做的好方法。我所做的是使用 grunt 任务 grunt-replace 来修复所有 css 图像路径。

咕噜咕噜的任务

/**
* Replaces image paths in CSS to match ../img. Select2 is the only css file this is needed for so far.
* Others can be added.
*/
replace: {
build: {
src: ['<%= build %>/assets/lib/css/select2.css'],
overwrite: true,
replacements: [
{
from: /url\('(?!\.)/g,
to: 'url(\'../img/'
},
{
from: /url\((?!\')/g,
to: 'url(\'../img/'
},
{
from: /..\/images\//g,
to: '../img/'
},
{
from: /(png|gif|jpg)(?=\))/g,
to: '$1\''
}
]
}
}

我还将所有 select2 图像复制到文件夹“img”中。只要任务“to:”匹配,该部分就可以是您想要的任何内容。

关于gruntjs - 供应商 css 图像在连接和缩小后不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21965946/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com