[英]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.