gulp : 如何缩短未知来源的目标文件夹?
gulp : how to shorten destination folder of an unknow source?
我最近试着玩了一下 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
?
非常感谢!
您可以为此使用 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 选项。
我最近试着玩了一下 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
?
非常感谢!
您可以为此使用 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 选项。