0

CDN (またはリモート) スクリプトのリスト (完全な URL 付き) があります。これを連結ファイル ( ) に変換したいall.jsgulpでそれを行うことはできますか?言い換えれば、それは正しいツールですか?

// 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の目標を理解していませんでした。

4

2 に答える 2

0

I can't give you a full answer because I haven't done anything like this, but what I would do, is first download (With a GET request) save it in a temporal folder, and then get every file downloaded with gulp and concat them into one file and if it is just Javascript, uglify it.

But the thing is you need to download it first.

PD: You can use then fs.unlink to delete the temporal files. PD2: You can download it first using Gulp, Gulp is Node afterall ;)

Good luck!

于 2015-10-14T07:22:43.670 に答える
-2

この回答はここから取得されます: http://fettblog.eu/gulp-merge-cdn-files-into-your-pipeline/

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'));
})

1) jQuery CDN から最新の jQuery バージョンをリクエストします。request パッケージでは、ストリーミングが可能です。その見返りとして、読み取り可能なストリームが得られます。

2) vinyl-source-stream で有効な vinyl ファイル オブジェクトを作成します。これにより、Gulpと互換性があります

3) メイン ファイルは、通常どおりファイル システムから選択されます。

4) merge2 パッケージを使用すると、両方のストリームを組み合わせることができます

5) gulp-concat が処理できるように、両方のストリームの内容がテキスト バッファーに変換されます。

于 2015-12-20T13:37:49.957 に答える