繁体   English   中英

将文件编译到dest文件夹和src文件夹

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM