Javascript 将CDN链接列表关联到文件(gulp)

Javascript 将CDN链接列表关联到文件(gulp),javascript,gulp,gulp-concat,Javascript,Gulp,Gulp Concat,我有一个CDN(或远程)脚本列表(带有完整的URL)。我想把它转换成一个具体的文件(all.js)我可以用大口喝吗?换句话说,这是正确的工具吗 // Does not work (no error, but no file generated) var gulp = require('gulp'); var concat = require('gulp-concat'); gulp.task('scripts', function() { return gulp.src(['https:/

我有一个CDN(或远程)脚本列表(带有完整的URL)。我想把它转换成一个具体的文件(
all.js
我可以用大口喝吗?换句话说,这是正确的工具吗

// Does not work (no error, but no file generated)
var gulp = require('gulp');
var concat = require('gulp-concat');

gulp.task('scripts', function() {
  return gulp.src(['https://code.jquery.com/jquery-2.1.4.min.js'])
    .pipe(concat('all.js'))
    .pipe(gulp.dest('./dist/'));
});

我是gulp新手,我在搜索后没有找到答案,可能我不知道如何搜索,或者我不了解gulp的目标。

我不能给你一个完整的答案,因为我没有做过类似的事情,但我要做的是,首先下载(通过GET请求)并将其保存在临时文件夹中,然后用gulp下载每个文件,并将它们压缩到一个文件中,如果只是Javascript,就把它丑化

但问题是你需要先下载它

PD:您可以使用then fs.unlink删除临时文件。 PD2:你可以先用Gulp下载,Gulp毕竟是节点;)


祝你好运

这个答案来自这里:

1) 我们从jQuery CDN请求最新的jQuery版本。请求包允许流式传输。我们得到的回报是一个可读的流

2) 我们使用乙烯基源流创建一个有效的乙烯基文件对象。这使它与吞咽兼容

3) 我们的主文件像往常一样从文件系统中选择

4) merge2包允许我们合并这两个流


5) 这两个流的内容都转换为文本缓冲区,因此gulp concat可以处理它们。

请不要只提供这样的链接,如果需要,您可以构造适当的响应并说明源代码。问题是:如果你的链接无法访问,会发生什么?你的问题仍然是答案吗?
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var request = require('request');
var merge = require('merge2');
var concat = require('gulp-concat');
var buffer = require('gulp-buffer');

gulp.task('js', function() {

  var jquery = request('http://code.jquery.com/jquery-latest.js') /* 1 */
    .pipe(source('jquery.js'));                                   /* 2 */
  var main = gulp.src('main.js');                                 /* 3 */

  return merge(jquery, main)                                      /* 4 */
    .pipe(buffer())                                               /* 5 */
    .pipe(concat('concat.js'))
    .pipe(gulp.dest('dist'));
})