背景图像路径在使用 gulp js 的 css 文件中不起作用
Background image path not working in css file using gulp js
我正在做一个项目,我正在连接所有文件,通过 gulp 缩小和重命名。
当我在主 css 文件中将图像路径作为背景图像写入时,它在缩小文件中不起作用。实际上我无法设置图像路径,因为它正在另一个目录中的缩小文件中编译。
我的文件路径流程
assets -->
--css
--main.css
--img
dist -->
--css
--all-styles-min.css
gulpfile.js
我已将图像文件放入 assets/img 文件夹,并在我的 main.css
中调用该文件
我的gulp.js
return gulp.src([
'assets/css/animate.min.css',
'assets/css/bootstrap.css',
'assets/css/vendor/bootstrap-select.min.css',
'assets/css/vendor/bootstrap-datepicker3.min.css',
'assets/css/vendor/jquery.timepicker.css',
'assets/css/default.css',
'assets/css/main.css',
'assets/css/responsive.css',
])
.pipe(concat('all_styles.css'))
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(rename('all_styles.min.css'))
.pipe(gulp.dest('dist/css'))
});
在我的 main.css
.black-bg{
background:url('../img/black-multiply-bg.png') 0 0 repeat;
}
我看到此控制台错误,因为找不到图像文件
http://localhost/projects/P-09-sakha/html/dist/css/assets/img/black-multiply-bg.png 404 (Not Found)
来源显示的是 dist 文件夹。我也检查过 gulp-css-url-adjuster 但仍然无法正常工作。
我只对 G运行t 有一些经验,很遗憾 Gulp 没有。
但由于我过去曾 运行 做过类似的事情,所以我会告诉你我做了什么。
我使用 replace
功能来应用正则表达式替换正确的 "wrong" 网址。
在我的例子中:replace: [{files: 'index.html', regex: /\.\.\/dist\/css/g, replacement: 'css'}]
,用 index.html
文件中的 css
替换所有 ../dist/css
。例如,<link href="../dist/css/style.css" />
将变为 <link href="css/style.css" />
。
我确定 Gulp 有类似的东西。
我今天在为另一个项目工作时解决了 css-url-adjuster 的问题。
我之前发现编码格式对我来说不正确。所以我分享希望有人能从中找到帮助。
为此我使用了 4 个 Gulp 插件。
1. gulp-清洁-css
2. gulp-css分钟
3. gulp-重命名
4. gulp-css-url-调节器
代码是:
gulp.task('css', function(){
return gulp.src([
'../html/assets/css/main.css',
])
/**
*
* Note
* To Use minify and fixing the image path, you have
* to use both gulp-clean-css & gulp-cssmin & gulp-css-url-adjuster
* and the format must follow the below code
* else you will get error
*/
.pipe(concat('apps.css'))
.pipe(gulp.dest('../html/assets/css'))
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(urlAdjuster({
prepend: '../img/',
}))
.pipe(cssmin())
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest('../html/assets/css'))
});
我正在做一个项目,我正在连接所有文件,通过 gulp 缩小和重命名。
当我在主 css 文件中将图像路径作为背景图像写入时,它在缩小文件中不起作用。实际上我无法设置图像路径,因为它正在另一个目录中的缩小文件中编译。
我的文件路径流程
assets -->
--css
--main.css
--img
dist -->
--css
--all-styles-min.css
gulpfile.js
我已将图像文件放入 assets/img 文件夹,并在我的 main.css
中调用该文件我的gulp.js
return gulp.src([
'assets/css/animate.min.css',
'assets/css/bootstrap.css',
'assets/css/vendor/bootstrap-select.min.css',
'assets/css/vendor/bootstrap-datepicker3.min.css',
'assets/css/vendor/jquery.timepicker.css',
'assets/css/default.css',
'assets/css/main.css',
'assets/css/responsive.css',
])
.pipe(concat('all_styles.css'))
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(rename('all_styles.min.css'))
.pipe(gulp.dest('dist/css'))
});
在我的 main.css
.black-bg{
background:url('../img/black-multiply-bg.png') 0 0 repeat;
}
我看到此控制台错误,因为找不到图像文件
http://localhost/projects/P-09-sakha/html/dist/css/assets/img/black-multiply-bg.png 404 (Not Found)
来源显示的是 dist 文件夹。我也检查过 gulp-css-url-adjuster 但仍然无法正常工作。
我只对 G运行t 有一些经验,很遗憾 Gulp 没有。 但由于我过去曾 运行 做过类似的事情,所以我会告诉你我做了什么。
我使用 replace
功能来应用正则表达式替换正确的 "wrong" 网址。
在我的例子中:replace: [{files: 'index.html', regex: /\.\.\/dist\/css/g, replacement: 'css'}]
,用 index.html
文件中的 css
替换所有 ../dist/css
。例如,<link href="../dist/css/style.css" />
将变为 <link href="css/style.css" />
。
我确定 Gulp 有类似的东西。
我今天在为另一个项目工作时解决了 css-url-adjuster 的问题。
我之前发现编码格式对我来说不正确。所以我分享希望有人能从中找到帮助。
为此我使用了 4 个 Gulp 插件。 1. gulp-清洁-css 2. gulp-css分钟 3. gulp-重命名 4. gulp-css-url-调节器
代码是:
gulp.task('css', function(){
return gulp.src([
'../html/assets/css/main.css',
])
/**
*
* Note
* To Use minify and fixing the image path, you have
* to use both gulp-clean-css & gulp-cssmin & gulp-css-url-adjuster
* and the format must follow the below code
* else you will get error
*/
.pipe(concat('apps.css'))
.pipe(gulp.dest('../html/assets/css'))
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(urlAdjuster({
prepend: '../img/',
}))
.pipe(cssmin())
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest('../html/assets/css'))
});