0

src フォルダーにさまざまな*.scssファイルがあり、1 つのファイルを別のフォルダーにコンパイルしたいと考えています。
ファイル、、、があるとしましょnormalFile_1.scssう。2 つの通常のファイルをフォルダーにコンパイルする必要がありますが、特別なファイルはフォルダーに配置する必要があります。 specialFile.scssnormalFile_2.scssPublic/CssPublic/Css/Special

でタスクの現在のファイル名を取得しようとしましたが、gulp-tap正常に動作します。

.pipe($.tap(function (file, t) {
      filename = path.basename(file.path);
      console.log(filename); //outputs normalFile_1.css, specialFile.css, normalFile_2.css
}))

そしてgulp-if、変数に基づいて出力フォルダーを切り替えたいと思いましたfilename(PATHS.distは出力の「ルート」フォルダーPublicです):

.pipe($.if(filename == 'specialFile.css', gulp.dest(PATHS.dist + '/Css/Special'), gulp.dest(PATHS.dist + '/Css')));

ただし、すべてがPublic/Cssフォルダーに残ります。これが機能しないのはなぜですか?これはそれを達成しようとする良い方法ですか、それともより良い方法がありますか?

4

1 に答える 1