【问题标题】:gulp : how to shorten destination folder of an unknow source?gulp:如何缩短未知来源的目标文件夹?
【发布时间】:2015-12-17 00:52:40
【问题描述】:

我最近尝试使用 gulp,我想用它来将多个 sass 文件编译为一个。所以这是我的任务:

gulp.task('dev', function () { 
   return gulp
   .src('vendor/proj/**/**/src/assets/scss/dev.scss')
   .pipe(sass())
   .pipe( rename (function (path) {
       path.basename = 'dev';
   }))
   .pipe(gulp.dest('public/css'));
});

它工作正常,只是我想修改目的地。我不确定这是否可能,但编译后的 css 最终会出现在:public/css/folder1/subfolder1/src/assets/scss/dev.css
无论如何,gulp 可以将 css 放入: public/css/folder1/subfolder1/dev.css ?

非常感谢!

【问题讨论】:

    标签: javascript gulp gulp-sass


    【解决方案1】:

    您可以为此使用gulp-flatten。您的 gulp 任务应如下所示:

    gulp.task('dev', function () { 
       return gulp
       .src('vendor/proj/**/**/src/assets/scss/dev.scss')
       .pipe(sass())
       .pipe( rename (function (path) {
           path.basename = 'dev';
       }))
       .pipe(flatten({ includeParents: 4} )) // number of parent folders to include
       .pipe(gulp.dest('public/css'));
    });
    

    这应该把它放在文件夹中:public/css/folder1/subfolder1。您可以使用 includeParents 选项。

    【讨论】:

    • 有点晚,但总是欢迎正确的答案 :) 谢谢先生提供的知识
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 2016-10-27
    相关资源
    最近更新 更多