/ / Tentando executar uma tarefa gulp com VSCode que não é baseado na pasta raiz - gulp, visual-studio-code

Tentando executar uma tarefa gulp com VSCode que não é baseado na pasta raiz - gulp, visual-studio-code

Esta é minha tarefa.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"
}
]
}

Infelizmente a minha instalação gulp (a local) não está sob root mas dentro de outra pasta:

root/js/

Então, como posso definir que gostaria de executar este comando gulp de dentro da outra pasta?

PS: mover o task.json para a subpasta não funcionou.

Respostas:

35 para resposta № 1

Usar um diretório de trabalho diferente é parcialmentesuportado. Ele não funciona para detecção automática de tarefas gulp, mas deve funcionar para executar gulp. Você pode adicionar algo como isto para o tasks.json no escopo de nível superior

"options": {
"cwd": "${workspaceRoot}/mySubDir"
},

No entanto, isso ainda pressupõe que gulp e todos os módulos de nó requeridos são acessíveis a partir desse diretório.


1 para resposta № 2

o tasks.json não suporta neste momento o lançamento de uma tarefa com um diferente cwd. Uma maneira de contornar isso seria criar um gulp.cmd ou gulp.sh arquivo na pasta raiz do seu espaço de trabalho que invoca a pasta correta gulp. Por exemplo. gulp.cmd:

@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node  "%~dp0node_modulesgulpbingulp.js" %*

Para evitar cometer isso para o seu repositório git, você poderia ignorá-lo em .git/info/exclude


1 para resposta № 3

você pode passar caminho do seu gulpfile.js engolir em args

"version": "0.1.0",
"command": "gulp",
"isShellCommand": true,
"args": [
"--gulpfile",
"./js/gulpfile.js"
]