Esta es mi tarea. 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"
}
]
}
Lamentablemente, mi instalación gulp (la local) no está en la raíz sino dentro de otra carpeta:
root/js/
entonces, ¿cómo puedo definir que me gustaría ejecutar este comando gulp desde dentro de la otra carpeta?
PD: mover la tarea.json a la subcarpeta no funcionó.
Respuestas
35 para la respuesta № 1Usar un directorio de trabajo diferente es parcialmentesoportado. No funciona para la detección automática de tareas gulp pero debería funcionar para ejecutar gulp. Puede agregar algo como esto a tasks.json en el ámbito de nivel superior
"options": {
"cwd": "${workspaceRoot}/mySubDir"
},
Sin embargo, esto aún asume que gulp y todos los módulos de nodos guld require son accesibles desde ese directorio.
1 para la respuesta № 2
los tasks.json no es compatible en este momento el lanzamiento de una tarea con un diferente cwd
. Una forma de solución sería crear un gulp.cmd
o gulp.sh
archivo en la carpeta raíz de su espacio de trabajo que invoca el gulp
. P.ej. gulp.cmd
:
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0node_modulesgulpbingulp.js" %*
Para evitar comprometer esto con su repositorio git, podría ignorarlo en .git/info/exclude
1 para la respuesta № 3
puedes pasar el camino de tu gulpfile.js
tragar args
"version": "0.1.0",
"command": "gulp",
"isShellCommand": true,
"args": [
"--gulpfile",
"./js/gulpfile.js"
]