如何在gulp.dest()中找到父目录的路径?

时间:2016-03-14 14:08:31

标签: javascript node.js gulp frontend

我是Gulp的新人,当我尝试将我的文件输出到他们父母的路径时,我得到了股票。

我的目录是这样的:

app/page_a/less/a.less
app/page_a/css

我的目标是:

app/page_a/less/a.less
app/page_a/css/a.css

这就是我正在做的事情:

  

我使用**因为我想匹配我的所有page_ *模块。

gulp.task('test', function () {
    var files = ['./app/**/*.less'];
    return gulp.src(files, {
            base: '.' // Now the base url becomes where the *.less is.
        })
        .pipe(less())
        .pipe(gulp.dest('.'));
});

我的结果:(这显然是错误的:()

app/page_a/less/a.less
app/page_a/less/a.css
app/page_a/css

那么如何将*.css输出到相应的app/page_*/css路径?

2 个答案:

答案 0 :(得分:1)

您在base的{​​{1}}选项中指定的路径不是相对于每个相应的gulp.src()文件,而是相对于当前工作目录。这通常是您.less所在的目录。

您实际想要做的是在Gulpfile.js插件运行后更改每个生成的.css文件的路径,这样当less()文件写入.css指定的目录时{1}}路径的gulp.dest()部分已替换为/less/

这正是gulp-rename插件的用途:

/css/

答案 1 :(得分:0)

使用gulp.dest('。')你会说'这里'' 试试:

.pipe(gulp.dest('./app/page_a/css/'));

这应该是工作