掌握Gulp并提出问题.
所以我有一个像下面这样的gulp CSS任务,它运行得很好:
var sassDir = 'app/scss';
var targetCssDir = 'public/assets';
gulp.task('css', function(){
return gulp.src(sassDir + '/main.scss')
.pipe(sass({ style: 'compressed' }).on('error', gutil.log))
.pipe(autoprefix('last 10 version'))
.pipe(gulp.dest(targetCssDir));;
});
Run Code Online (Sandbox Code Playgroud)
但是有没有办法添加我的供应商文件,如Bootstrap,所以它将包括在缩小和连接.
希望你能指教.
小智 65
gulp-sass将满足您的要求.请允许我告诉您如何编译Sass文件并缩小(或压缩)已编译的css文件:
注:outputStyle在一饮而尽,青菜有四个选项:nested
,expanded
,compact
,compressed
它确实有效,我在我的项目中使用过它.希望能帮助到你.
var gulp = require('gulp');
var sass = require('gulp-sass');
//sass
gulp.task('sass', function () {
gulp.src(['yourCSSFolder/*.scss', 'yourCSSFolder/**/*.scss'])
.pipe(sass({outputStyle: 'compressed'}))
.pipe(gulp.dest('yourCSSFolder/'));
});
// Default task
gulp.task('default', function () {
gulp.start('sass');
});
Run Code Online (Sandbox Code Playgroud)
提醒自述
Ove*_*ous 23
我能想到两个解决方案. 我觉得最好的选择是使用 显然,除非您使用SASS导入,否则使用SASS不起作用.@import
Sass文件中的语句来包含供应商文件.使用相对路径到他们居住的地方,然后您可以按照您想要的顺序包含它们.
或者,您可以使用event-stream
和gulp-concat
连接文件流.在这种情况下,你应该不使用gulp-sass
对文件进行压缩,而是使用类似gulp-csso
处理压缩.
var es = require('event-stream'),
concat = require('gulp-concat');
gulp.task('css', function(){
var vendorFiles = gulp.src('/glob/for/vendor/files');
var appFiles = gulp.src(sassDir + '/main.scss')
.pipe(sass({ style: 'compressed' }).on('error', gutil.log));
return es.concat(vendorFiles, appFiles)
.pipe(concat('output-file-name.css'))
.pipe(autoprefix('last 10 version'))
.pipe(gulp.dest(targetCssDir));
});
Run Code Online (Sandbox Code Playgroud)
同样,如果可以,您应该使用第一种方法,但es.concat
对其他方案很有用.