我正在研究一個包含我的站點的前端和後端任務的gulp文件。
下面例如將Concat的我的劇本到app.js任務:整個任務的改變工作目錄
gulp.task 'frontend:scripts', ->
gulp.src frontendPath(scriptsFolder, scriptsPattern)
.pipe sourcemaps.init()
.pipe coffee()
.pipe concat 'app.js'
.pipe sourcemaps.write('.')
.pipe gulp.dest frontendPath(tempFolder, scriptsFolder)
正如你可以看到我已經創建了一個幫手來提供正確的前端路徑:
frontendPath = (dirs...) -> path.join.apply null, ['frontend'].concat(dirs)
但是我有要非常小心我的任務的所有步驟(特別是.src和.dest)都在前端文件夾中執行。
我知道您可以使用{ cwd: 'frontend' }
選項來更改.src和.dest的工作目錄。但有沒有辦法改變整個工作目錄的任務?
謝謝你的回答。請注意,我不想在'src'和'dest'之間的步驟中更改工作文件夾。我希望整個任務在子文件夾上運行。現在,我必須將所有球體加上我的子文件夾(或者將'cwd:'同時提供給'src'和'dest')。我希望有更好的方法。 – Zyphrax 2014-12-02 06:43:56
夠公平,那麼我認爲shelljs模塊可能是你的朋友。 Fwiw,我認爲在子目錄前加上一個很常見的做法。 – thataustin 2014-12-02 07:58:50
如果您想要在多個文件夾中運行多個命令並且這些命令僅在當前工作目錄下工作,該怎麼辦?例如運行'無服務器部署' – Tom 2017-12-11 20:35:37