【发布时间】:2015-07-16 13:52:52
【问题描述】:
以前在我的 MVC 应用程序中,我使用 .NET 来优化(连接、缩小等)我的 CSS 文件。我不得不使用自定义转换类来处理我的 CSS 中的路径,例如:
.brand {
background-image: url("../images/logo.png");
}
甚至:
.brand {
background-image: url("/Content/images/logo.png");
}
我已将 gulp 添加到我最近的前端测试项目中,我想我也会使用它来自动优化我的 CSS 和 JS 文件。这是我处理 CSS 文件的 gulp 任务:
var gulp = require('gulp');
var concat = require('gulp-concat');
var cssmin = require('gulp-minify-css');
var rename = require("gulp-rename");
var less = require('gulp-less');
var uglify = require('gulp-uglify');
gulp.task('styles', function () {
return gulp.src('./Content/custom/site.less')
.pipe(less())
.pipe(gulp.dest('./dist/css'))
.pipe(cssmin())
.pipe(rename({
suffix: '.min'
}))
.pipe(gulp.dest('./dist/css'));
});
CSS 文件已成功缩小、丑化等,但图片链接不正确。当然,相对路径现在引用 http://localhost/site-folder/dist/css/Content/images/logo 之类的东西。最初类似于 /Content/images/logo.png 的路径最终变成了 http://localhost/Content/images/logo.png,但不幸的是,它们没有考虑到我的站点拥有的域文件夹。
有什么想法吗?
提前致谢
【问题讨论】:
-
另外,您是否使用部分文件?我不熟悉 gulp-less api,但是对于 gulp-sass,您必须指定哪个目录包含部分文件并且会影响背景图像路径。