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 № 1Usar 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"
]