¿Cómo puedo configurar gulp para que se ejecute de forma idéntica en Visual Studio 2017 y msbuild sin tener que cambiar mis scripts de comstackción?

Estoy luchando por prepararme con Gulp en Visual Studio 2017. No estoy seguro de a qué me voy mal, pero hay algunas cosas en las que estoy confundido y realmente no puedo encontrar ningún recurso en línea que sea de Cualquier uso.

El sistema de comstackción que estoy usando es CruiseControl.NET y me gustaría que gulp trabajara con él.

Esto es lo que he hecho hasta ahora:

  • Se instaló Visual Studio 2017 con .NET Core cross-platform development y Node.js development seleccionado (entre otras opciones).

  • Creó un nuevo proyecto

  • Se agregó un archivo gulpfile.js al proyecto.

  • Haga clic derecho en el archivo y elija Task Runner Explorer

En el Explorador de tareas de Runner obtengo el error Failed to load. See output window (Ctl+Alt+O) for more information. Failed to load. See output window (Ctl+Alt+O) for more information. .

Entonces si hago lo siguiente:

  • Abra la ventana interactiva Node.js

  • Ejecute el comando .npm install --global gulp-cli

  • Cierra Visual Studio y ábrelo de nuevo.

En el Explorador de tareas de Runner, recibo el mensaje (No tasks found) .

En primer lugar, ¿es esta la forma correcta de configurar Gulp en Visual Studio 2017?

La razón por la que pregunto esto es porque no estoy seguro de por qué debo prefijar los comandos con un carácter de punto (es decir, .npm en lugar de npm ).

Tampoco estoy seguro de dónde se instaló Gulp porque no puedo encontrarlo en la ruta C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Web\External\node_modules .

Debido a esto realmente no puedo configurar CruiseControl.NET.

La forma en que estoy manejando esto es usar primero la extensión Web Essentials 2017 . Esto instala la herramienta Bundler & Minifier , que luego agrega un archivo bundleconfig.json a su proyecto. Haga clic con el botón derecho en este archivo, vaya al elemento del menú Bundler & Minifier y verá una opción allí para convertir a Gulp .

Seleccionar convertir a gulp creará el gulpfile.js necesario y también instalará los paquetes npm necesarios para usar Gulp. Espere a que se instalen todos los paquetes npm y luego haga clic con el botón derecho en gulpfile.js , seleccione Task Runner Explorer y debería estar listo para configurar tareas basadas en Gulp. Si ve que gulpfile.js no pudo cargar el mensaje , es posible que todavía se estén instalando paquetes npm (verifique la barra de progreso en la barra de estado de VS 2017). Presione el ícono Actualizar en el Explorador de tareas de Runner cuando todos los paquetes estén instalados y el error desaparezca.

Probablemente haya una forma más manual de agregar soporte a Gulp, pero este método más automatizado garantiza que todas las herramientas estén conectadas para que funcionen correctamente y no me pierdo nada.

Recopilé toda esta información del impresionante sitio de Microsoft Docs , específicamente esta página en Bundling & Minification. También hay una sección de Uso de Gulp allí que puede proporcionar detalles adicionales para su situación.

https://docs.microsoft.com/en-us/aspnet/core/client-side/bundling-and-minification

Microsoft ahora ha agregado documentación sobre cómo ejecutar Gulp: https://docs.microsoft.com/en-us/aspnet/core/client-side/using-gulp

Asegúrese de actualizar Visual Studio 2017 a la última versión, ya que ahora viene con Node.js, NPM y Gulp (no es necesario que elija “Soporte de Node.js” cuando instale Visual Studio para que esto funcione).

Cree un archivo de configuración npm (package.json) en la carpeta de su proyecto y edítelo como truco de referencia:

 { "version": "1.0.0", "name": "example", "private": true, "devDependencies": { "gulp": "3.9.1" }, "scripts": { "gulp": "gulp" } } 

En la carpeta del proyecto, cree un archivo de configuración de Gulp (gulpfile.js) para definir el proceso automatizado.

Agregue lo siguiente a la línea de comandos del evento posterior a la comstackción para cada proyecto que requiera soporte para gulps:

 cd $(ProjectDir) call dotnet restre npm run gulp 

Para ejecutar las tareas en Visual Studio 2017, abra el Explorador de tareas (Ver> Otras ventanas> Explorador de tareas).

Luego, en el servidor de comstackción, simplemente instale Node.js y asegúrese de que la ruta al nodo se agregue a la variable de la ruta del entorno, luego, cuando el servidor de comstackción se compile, ¡el proyecto se ejecutará también!

He encontrado la solución aquí .

Debe forzar la ejecución de Visual Studio con su versión de Node.js:

Vaya a Tools > Options en Visual Studio 2017

Vaya a Projects and Solutions > External Web Tools

Agregue la siguiente ruta: C:\Program Files\nodejs

introduzca la descripción de la imagen aquí