Попытка запустить задачу gulp с VSCode, которая не находится в корневой папке
Это моя задача .json
// A task runner configuration for gulp. Gulp provides a less task
// which compiles less to css.
{
"version": "0.1.0",
"command": "gulp",
"isShellCommand": true,
"tasks": [
{
"taskName": "sfdcBuild",
// Make this the default build command.
"isBuildCommand": true,
// Show the output window only if unrecognized errors occur.
"showOutput": "always",
// Use the standard less compilation problem matcher.
"problemMatcher": "$lessCompile"
}
]
}
К сожалению, моя установка gulp (локальная) не находится под корнем, а внутри другой папки:
root/js/
так как я могу определить, что я хотел бы запустить эту команду gulp из другой папки?
PS: перемещение task.json во вложенную папку не выполнялось.
Ответы
Ответ 1
Частично поддерживается другой рабочий каталог. Он не работает для автоматического обнаружения задач gulp, но он должен работать для запуска gulp. Вы можете добавить что-то вроде этого в tasks.json в области верхнего уровня.
"options": {
"cwd": "${workspaceRoot}/mySubDir"
},
Однако это по-прежнему предполагает, что gulp и все node модули guld требуют доступа из этого каталога.
Ответ 2
tasks.json не поддерживает в это время запуск задачи с другим cwd
. Одним из способов решения проблемы было бы создать файл gulp.cmd
или gulp.sh
в корневой папке рабочего пространства, который вызывает правильный gulp
. Например. gulp.cmd
:
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\node_modules\gulp\bin\gulp.js" %*
Чтобы избежать этого в вашем репозитории git, вы можете игнорировать его в .git/info/exclude
Ответ 3
вы можете передать путь от gulpfile.js
до gulp в args
"version": "0.1.0",
"command": "gulp",
"isShellCommand": true,
"args": [
"--gulpfile",
"./js/gulpfile.js"
]