Saat ini saya menggunakan gulp untuk memanggil skrip bash yang membersihkan dist/
direktori saya dan memindahkan file yang sesuai ke direktori bersih. Saya ingin ini dilakukan dengan gulp karena saya tidak yakin skrip akan berfungsi pada sistem file non * nix.
Sejauh ini, saya menggunakan modul gulp-clean untuk membersihkan dist/
direktori tetapi ketika saya mencoba memindahkan direktori yang diperlukan dan file mereka ke folder dist, direktori tersebut kosong.
var gulp = require('gulp'),
clean = require('gulp-clean');
gulp.task('clean', function(){
return gulp.src(['dist/*'], {read:false})
.pipe(clean());
});
gulp.task('move',['clean'], function(){
gulp.src(['_locales', 'icons', 'src/page_action', 'manifest.json'])
.pipe(gulp.dest('dist'));
});
gulp.task('dist', ['move']);
memanggil gulp dist
hasil di dist/
direktori yang diisi dengan direktori yang benar tetapi semuanya kosong
$ ls dist/*
dist/manifest.json
dist/_locales:
dist/icons:
dist/page_action:
Bagaimana cara menyalin direktori dan isinya ke dist/
folder?
read
opsi di src yang disetel kefalse
(ini disetel ketrue
default).Pertanyaan asli hanya menargetkan direktori (alias folder) di dalamnya
gulp.src
, yaitugulp.src(['_locales', ...
dalam contoh ini,_locales
adalah nama direktori .Jawaban yang diterima menggunakan
glob
pola di nyagulp.src
untuk menargetkan file di mana saja di direktori tersebut, yaitugulp.src(['./_locales/**/*.*', ...
, (pemberitahuan double-tanda bintang , dan filename.extension tanda bintang). Jawaban yang diterima berhasil ...... tetapi jawaban yang diterima hanya menekankan
base
opsi :Saya bereksperimen dan menemukan:
Sebenarnya, tidak perlu menggunakan
base
opsi untuk mencapai apa yang diminta OP: "... dan memindahkan file yang sesuai ke direktori bersih." Thebase
pilihan apakah memang melestarikan berkas + folder struktur (seperti yang dijelaskan dalam jawaban diterima), tetapibase
pilihan adalah tidak cukup untuk memindahkan file sebagai OP bertanya . Mempertahankan struktur folder + file mungkin adalah apa yang diharapkan OP , jadi jawaban yang diterima bagus, tapi ...Hanya untuk mengulangi apa yang memindahkan file, itu adalah
glob
pola:Tanda bintang ganda (
.../**/...
) menelusuri secara rekursif di semua subfolder, dan 'subfolder' subfolder, dll.Filename.extension asterisks (
.../*.*
) menemukan file dari semua nama , dan semua ekstensi . Jadi menurut saya bagian ini paling perlu mendapat penekanan!Jawaban yang diterima mengubah sesuatu yang lain; itu menambahkan awalan
./
ke setiap argumen jalur yang diteruskan kegulp.src
. Saya pikir itu tidak perlu / berlebihan; jika tidak ada./
, (seperti dalam pertanyaan OP), jalur diselesaikan relatif terhadap direktori saat ini - menghasilkan perilaku yang sama . Tapi mungkin praktik yang baik untuk menjelaskan dengan./
Beri tahu saya jika saya salah ...
sumber