2

保存時に SASS と CoffeeScript を自動的にコンパイルするように gulp.js 構成をセットアップしました。相対パスが完全に失われ、すべてのファイルが単一のフラットディレクトリに出力されることを除いて、機能します。最終的な CSS および JS ファイルがコンパイルされるときに、 myapp/assets/sassおよびディレクトリのサブディレクトリ構造を保持したいと考えています。app/assets/coffeeこれが私のgulpfileです:

var gulp = require('gulp');
var plumber = require('gulp-plumber');
var gutil = require('gulp-util');
var minifycss = require('gulp-minify-css');
var autoprefixer = require('gulp-autoprefixer');
var sass = require('gulp-ruby-sass');
var coffee = require('gulp-coffee');

var sassDir = 'app/assets/sass';
var coffeeDir = 'app/assets/coffee';

gulp.task('sass', function() {
    return gulp.src(sassDir + '/**/*.scss')
        .pipe(plumber())
        .pipe(sass({ style: 'compress' }).on('error', gutil.log))
        .pipe(autoprefixer('last 10 versions'))
        .pipe(minifycss())
        .pipe(gulp.dest('public/css'));
});

gulp.task('coffee', function() {
    return gulp.src(coffeeDir + '/**/*.coffee')
        .pipe(plumber())
        .pipe(coffee({ bare: true }).on('error', gutil.log))
        .pipe(gulp.dest('public/js/coffee)'));
});

gulp.task('watch', function() {
    gulp.watch(sassDir + '/**/*.scss', ['sass']);
    gulp.watch(coffeeDir + '/**/*.coffee', ['coffee']);
});


gulp.task('default', ['sass', 'coffee', 'watch']);
4

1 に答える 1

-2

パス文字列のみを / で分割し、最後のファイル名と拡張子を取得してから、それを切り取ってファイルパスを取得します

gulp.task('testing', function() {
        var orginalFile="tt/ee/style.scss";

        var pathArray=orginalFile.split('/');
        var destination=orginalFile.replace(pathArray[pathArray.length-1],"")

    gulp.src(orginalFile)    
    .pipe(sass())
    .pipe(gulp.dest(destination));

    })
});
于 2015-10-30T12:19:49.847 に答える