Saya mencoba menggunakan Gulp untuk:
- Ambil 3 file javascript tertentu, gabungkan, lalu simpan hasilnya ke file (concat.js)
- Ambil file gabungan ini dan uglify / minify, kemudian simpan hasilnya ke file lain (uglify.js)
Saya memiliki kode berikut sejauh ini
var gulp = require('gulp'),
gp_concat = require('gulp-concat'),
gp_uglify = require('gulp-uglify');
gulp.task('js-fef', function(){
return gulp.src(['file1.js', 'file2.js', 'file3.js'])
.pipe(gp_concat('concat.js'))
.pipe(gp_uglify())
.pipe(gulp.dest('js'));
});
gulp.task('default', ['js-fef'], function(){});
Namun, operasi uglify sepertinya tidak berfungsi, atau file tidak dibuat karena beberapa alasan.
Apa yang harus saya lakukan untuk mewujudkannya?
Jawaban:
Ternyata saya perlu menggunakan
gulp-rename
dan juga mengeluarkan file gabungan terlebih dahulu sebelum 'uglification'. Berikut kodenya:Berasal dari
grunt
itu awalnya sedikit membingungkan, tetapi sekarang masuk akal. Saya harap ini membantu paragulp
noobs.Dan, jika Anda membutuhkan peta sumber, berikut kode yang diperbarui:
Lihat gulp-sourcemaps untuk mengetahui lebih lanjut tentang opsi dan konfigurasi.
sumber
gulp.task
harus:.pipe(gp_concat('concat.js'))
File gulp saya menghasilkan kompilasi-bundle-min.js terakhir, semoga ini membantu seseorang.
sumber
Solusi menggunakan
gulp-uglify
,gulp-concat
dangulp-sourcemaps
. Ini dari proyek yang sedang saya kerjakan.Ini menggabungkan dan memampatkan semua Anda
scripts
, menempatkannya ke dalam file bernamaall_the_things.js
. File akan diakhiri dengan baris khususYang memberi tahu browser Anda untuk mencari file peta itu, yang juga ditulisnya.
sumber
Solusi Anda tidak berfungsi karena Anda perlu menyimpan file setelah proses concat dan kemudian melakukan uglify dan menyimpan lagi. Anda tidak perlu mengganti nama file antara concat dan uglify.
sumber
10 Juni 2015: Catatan dari penulis
gulp-uglifyjs
:18 Feb 2015:
gulp-uglify
dangulp-concat
keduanya berfungsi dengan baikgulp-sourcemaps
sekarang. Pastikan untuk menyetelnewLine
opsi dengan benar untukgulp-concat
; Saya sarankan\n;
.Jawaban Asli (Des 2014): Gunakan gulp-uglifyjs sebagai gantinya.
gulp-concat
belum tentu aman; itu perlu menangani tanda titik koma di belakang dengan benar.gulp-uglify
juga tidak mendukung peta sumber. Berikut cuplikan dari proyek yang saya kerjakan:sumber
gulp-concat
tidak (gulp-uglify
tidak akan membiarkan Anda mengecilkan banyak file sehingga Anda harus menggabungkannya terlebih dahulu). Selain itu,gulp-concat
menggunakan\r\n
default, yang dapat menyebabkan masalah jika file JS Anda tidak terhenti dengan benar. Tapi ya, sekarang setelah ada dukungan, mungkin lebih baik mengambil rute itu karena lebih fleksibel.kami menggunakan konfigurasi di bawah ini untuk melakukan sesuatu yang serupa
Contoh file GulpDS di bawah ini:
sumber