requests nodejs node instalar await javascript node.js request gulp

javascript - instalar - request nodejs github



Usando gulp con solicitud (2)

Tengo el siguiente Gulpfile.js :

''use strict''; const gulp = require(''gulp''), request = require(''request''); const paths = { vendor: [ ''https://raw.githubusercontent.com/jquery/jquery-dist/master/dist/jquery.min.js'', ''https://raw.githubusercontent.com/kenwheeler/slick/master/slick/slick.js'' ] }; gulp.task(''vendor'', (res) => { const url = request.get(paths.vendor).pipe(res); return gulp.src(url) .pipe(gulp.dest(''public/vendor'')); }); gulp.task(''default'', gulp.parallel(''vendor''));

Me aparece el siguiente error:

Error: options.uri is a required argument

Con este método intento dictar administradores de paquetes del lado del cliente, como Bower. ¿Hay alguna manera de usar la request con un gulp y recorrer una lista de objetos?

EDITAR:

Coloqué este código para probarlo, solo devolviendo la primera línea del ciclo:

gulp.task(''vendor'', () => { for (let i=0; i<paths.vendor.length; i++) { return console.log(paths.vendor[i]); }; });

Al igual que:

gulp.task(''vendor'', (res) => { const url = request.get(paths.vendor[index++]).pipe(res); return gulp.src(url) .pipe(gulp.dest(''public/vendor'')); });


No puede pasar una URL a gulp.src() . La instancia de gulp hereda src() y dest() de vinyl-fs lo que significa que solo puede usarlo para leer y escribir en el sistema de archivos local.

Prueba gulp-download lugar, que envuelve la request en una transmisión de vinilo:

var download = require(''gulp-download''); gulp.task(''vendor'', () => { return download(paths.vendor) .pipe(gulp.dest(''public/vendor'')); });


request.get solo funciona en un URI a la vez y está pasando una matriz, también AFAIK parallel espera una lista de tareas, no una tarea que procesa muchos elementos. Tal vez esto funcione para usted:

''use strict''; const gulp = require(''gulp''), request = require(''request''); const paths = { vendor: [ ''https://raw.githubusercontent.com/jquery/jquery-dist/master/dist/jquery.min.js'', ''https://raw.githubusercontent.com/kenwheeler/slick/master/slick/slick.js'' ] }; let index = 0; gulp.task(''vendor'', (res) => { const url = request.get(paths.vendor[index++]).pipe(res); return gulp.src(url) .pipe(gulp.dest(''public/vendor'')); }); let parallelTasks = (new Array(paths.vendor.length)).fill(''vendor''); gulp.task(''default'', gulp.parallel(...parallelTasks));