我想将所有scss
个文件合并到一个压缩的css
文件中:
结构:
我尝试了这两个任务,我在几个答案和教程中找到了这些任务,但我总是将scss
文件放入一个重复的css
文件中:
gulp.task('sass', function() {
return gulp.src('stylesheets/**/*.scss')
.pipe(sass())
.pipe(gulp.dest('css/'))
});
和
gulp.task('sass', function() {
return gulp.src('stylesheets/**/*.scss')
.pipe(sass())
.pipe(gulp.dest('css/styles.css'))
});
!!!效果结果!!!
或第二次尝试的任务:
???预期结果???
有什么想法吗?
答案 0 :(得分:6)
您表示要将文件合并到一个文件中并压缩该文件,因此您需要添加两个插件来执行其中的每个操作。
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
gulp.task('sass', function() {
return gulp.src('stylesheets/**/*.scss')
.pipe(sass())
.pipe(concat('styles.css'))
.pipe(uglify())
// .pipe(rename({
// basename: "styles",
// suffix: ".min",
// extname: ".css"
// }))
.pipe(gulp.dest('css'))
});
此外,您可能希望添加gulp-rename以表明该文件已通过.min.css扩展名进行了修改/缩小(并将您的html链接更改为指向该文件名)。
答案 1 :(得分:1)
希望这一点。
gulp.task('styles', () => {
gulp.src([path.src.sass])
.pipe(sassGlob())
.on('error', util.log)
.pipe(sass({
includePaths: ['src/scss'],
}))
.on('error', util.log)
.pipe(gulp.dest(path.dist.css))
});