[英]Gulp compiling files to dest folder and src folder
我的gulpfile将已编译的css和js文件添加到dest(css / js)文件夹和src(scss / coffee)文件夹中。
理想的结果是编译后的文件仅打印到dest文件夹 。
这仅在Windows而非Mac上运行gulp时发生。 另外,如果我在没有监视的情况下运行任务,则它可以正确编译; “ gulp样式”仅将css文件编译到css文件夹中-“ gulp脚本”仅将js文件编译到js文件夹中。
var gulp = require('gulp'),
plumber = require('gulp-plumber'),
rename = require('gulp-rename'),
autoprefixer = require('gulp-autoprefixer'),
coffee = require('gulp-coffee'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
minifycss = require('gulp-minify-css'),
sass = require('gulp-sass');
gulp.task('styles', function () {
return gulp.src(['scss/**/*.scss'])
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}
}))
.pipe(sass())
.pipe(autoprefixer('last 2 versions'))
.pipe(gulp.dest('css/'))
.pipe(rename({ suffix: '.min' }))
.pipe(minifycss())
.pipe(gulp.dest('css/'))
});
gulp.task('scripts', function () {
return gulp.src('coffee/**/*.coffee')
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}
}))
.pipe(coffee({ bare: true }))
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(gulp.dest('js/'))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(gulp.dest('js/'))
});
gulp.task('default', function () {
gulp.watch("scss/**/*.scss", ['styles']);
gulp.watch("coffee/**/*.coffee", ['scripts']);
});
这是因为您在gulp.dest
之前两次调用gulp.dest
,在缩小之后一次调用一次。 调用dest会将文件写到提供的路径上的磁盘上。
如果您只想要缩小版本
对于CSS
.pipe(autoprefixer('last 2 versions'))
.pipe(rename({ suffix: '.min' }))
.pipe(minifycss())
.pipe(gulp.dest('css/'))
对于Js
pipe(jshint.reporter('default'))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(gulp.dest('js/'))
您可以尝试添加.
到目标路径以帮助保留源路径:
.pipe(gulp.dest('css/')) -> .pipe(gulp.dest('./css/'))
和
.pipe(gulp.dest('js/')) -> .pipe(gulp.dest('./js/'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.