【发布时间】:2017-06-30 10:15:25
【问题描述】:
我是 Bower 的新手,我想使用 Gulp 来处理 CSS 和 JS 加载和缩小。
我已经解决了(我希望)JS 缩小问题。但是使用 CSS 我发现了几个问题,并不是所有的问题我都能解决:
-
gulp-main-bower-files插件找不到的 CSS 文件。例如 jQuery UI 的 CSS 样式。由gulp-add-src插件解决。 - 最小化样式,包括
@import命令。由gulp-cssimport插件解决。 -
CSS 文件中的图像路径。 当我将所有 CSS 最小化为一种样式时,不知道如何解决。当我使用相对路径(例如
background: url('../images/bg1.jpg'))最小化 CSS 时,最小化文件的位置与原始文件不同,因此路径不起作用。 - CSS文件中的字体路径。也不知道怎么解决。这是和上面一样的问题。例如下面 Gulp 任务的结果,我无法使用 Bootstrap 图标。
我的 Gulp 缩小 CSS 任务如下所示:
var mainBowerFiles = require('gulp-main-bower-files');
var addsrc = require('gulp-add-src');
var concat = require('gulp-concat');
var filter = require('gulp-filter');
var cssimport = require('gulp-cssimport');
var cleanCSS = require('gulp-clean-css');
var src = 'www/bower_components/';
var dest = 'www/bower_components/_compiled/';
gulp.task('css', function() {
gulp.src('./bower.json')
.pipe(mainBowerFiles())
.pipe(filter('**/*.css'))
.pipe(addsrc(src+'jquery-ui/themes/base/all.css')).pipe(cssimport())
.pipe(addsrc(src+'bootstrap/dist/css/bootstrap.css')).pipe(cssimport())
.pipe(addsrc(src+'bootstrap/dist/css/bootstrap-theme.css')).pipe(cssimport())
.pipe(concat('all.min.css'))
.pipe(cleanCSS())
.pipe(gulp.dest(dest));
});
感谢您的帮助。
【问题讨论】: