gpt4 book ai didi

javascript - 输入文件的目录结构在输出时变平

转载 作者:行者123 更新时间:2023-11-30 12:48:50 26 4
gpt4 key购买 nike

我的 app/assets/sass/目录中有一个分层结构,我试图在 public/css/ 中的 CSS 输出文件中进行镜像,但是我的所有 *.scss 文件sass 目录和子目录被放入根 public/css/ 文件夹。

这是我的 gulpfile:当我注释掉 gulp.src(sassDir ...).pipe(gulp.dest('public/css')); 之间的行时,目录结构是维护,但未编译 sass。取消注释 .pipe(sass(...)) 行会重现该问题。

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', { base: sassDir })
.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', { base: coffeeDir })
.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']);

最佳答案

目录结构信息保存在'file.base'中。以下代码告诉我“gulp-ruby-sass”正在更改“file.base”。

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

幸运的是,这个问题已经被报告过。很快就会修复。

https://github.com/sindresorhus/gulp-ruby-sass/pull/20

此外,“base”应该是绝对路径,在这种情况下您不需要指定“{ base: sassDir }”。它由给定的 glob 模式自动确定。

https://github.com/wearefractal/glob-stream

关于javascript - 输入文件的目录结构在输出时变平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21660676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com