javascript - gulp.js 剥离输出文件的相对路径

标签 javascript sass gulp

<分区>

我有一个 gulp.js 配置设置,可以在保存时自动编译我的 SASS 和 CoffeeScript。它可以工作,除了相对路径完全丢失,并且所有文件都输出到一个平面目录中。当编译最终的 CSS 和 JS 文件时,我想保留 app/assets/sassapp/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']);

最佳答案

只用/拆分路径字符串并获取最后一个文件名和扩展名,然后将其剪切 获取文件路径

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));

    })
});

关于javascript - gulp.js 剥离输出文件的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21618897/

相关文章:

javascript - 创建执行上下文后变量和词法环境的值

javascript - 如何使 npm 包作为 Electron 应用程序的命令可用

javascript - 如何使用 res.writeHead(301, { "Location": "/path/within/site" })?) 在 http node.js 的 res.writehead 中附加警报消息

html - CSS 下拉菜单干扰 Flexbox

css - 基于 PX 的 REM 计算容器宽度不正确

javascript - Babel + Rollup.js 导入 jQuery

angularjs - Angular/Gulp 应用程序的模拟后端

javascript - blur vs focusout - 有什么真正的区别吗?

javascript - 如何判断运行browserify的gulp任务何时完成?

javascript - 试图实现向上的箭头