我一飲而盡代碼看起來像這樣,在部分gulp.dest不創建目標文件夾
gulp.src(['../application-base/**/**.js', '!../application-base/assets/**/**.js'], { base: './' })
.pipe(gulpPlumber({
errorHandler: function (error) {
console.log(`\nError ${error}`);
this.emit('end');
}
}))
.pipe(gprint(filePath => "Transpiling: " + filePath.replace('..\\application-base\\', '')))
.pipe(babel({ compact: false }))
.pipe(gulp.dest('../application-base-transpiled/'))
.on('end',() => done());
如果我改變
.pipe(gulp.dest('../application-base-transpiled/'))
到
.pipe(gulp.dest(''))
則創建傳輸文件,並覆蓋原件。問題是,
.pipe(gulp.dest('../application-base-transpiled/'))
不保存文件,使用相同的原始路徑,下application-base-transpiled
正如你所看到的,我使用的是基礎,這好像不工作。
我錯過了什麼?
編輯
我看着更加緊密,而且似乎甚至
.pipe(gulp.dest('../application-base-transpiled/'))
咕嘟咕嘟是transpiled文件仍放置到原來的地方,覆蓋原來的。關於我所傳遞的那個Gulp不喜歡的東西,並且正在默默無視。
EDIT 2
看來去除的base
選項來解決這個問題,違背了意見,我在其他地方見過。 gulp.dest
的文檔沒有真正討論這一點。
任何人都可以提供一些見解?
編輯3
每斯文的答案,我想這
gulp.src(['**/**.js', '!assets/**/**.js'], { base: '../application-base' })
.pipe(gulpPlumber({
errorHandler: function errorHandler(error) {
console.log('\nError ' + error);
this.emit('end');
}
}))
.pipe(gprint(filePath => "Transpiling: " + filePath.replace('..\\application-base\\', '')))
.pipe(babel({ compact: false }))
.pipe(gulp.dest('../application-base-transpiled/'))
.on('end',() => done());
但似乎基本被忽略,從我自己的當前目錄中的文件被抓住,並在地方transpiled (我想要的最後一件事 - 幸運的是GIT有助於消除傷害)。
使用src
的數組時忽略基本參數嗎?
這真的很奇怪,你可以試試'./../ application-base-transpiled'嗎? '{base:'./'}'會告訴大家保存整個相對路徑。 –
@湯姆 - 幸運的是沒有任何影響 - 如果真的發生了,那真的會非常怪異。 –