簡體   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