/ / Intenta ejecutar una tarea de trago con VSCode que no está basado en la carpeta raíz - gulp, visual-studio-code

Intentando ejecutar una tarea trago con VSCode que no está basado en la carpeta raíz - gulp, visual-studio-code

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 № 1

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