Darbība ar failiem Gulp

Gulp ļauj paņemt failu grupu, veikt ar šo grupu kādu darbību un pēc tam izmainītos failus ievietot jaunā vietā.

Šim nolūkam ir paredzētas speciālas funkcijas src un dest. Vispirms importēsim tās no mūsu bibliotēkas:

javascriptlet {src, dest} = require('gulp');

Funkcija src ļauj iegūt norādīto failu:

javascriptfunction task(cb) {
  return src('src/styles.css'); // return instead of calling cb
}

Ar šo failu pēc tam pa ķēdi var veikt dažādas darbības, izmantojot funkciju pipe. Shēmatiski tas izskatās šādi:

javascriptfunction task(cb) {
  return src('src/styles.css')
    .pipe(darbība1)
    .pipe(darbība2)
    .pipe(darbība3)
}

Pēdējais pipe izsaukums ķēdē beidzas ar funkciju dest, kas norāda mapi, kurā tiks ievietots veikto darbību rezultāts:

javascriptfunction task(cb) {
  return src('src/styles.css')
    .pipe(darbība1)
    .pipe(darbība2)
    .pipe(darbība3)
    .pipe(dest('dist')); // nosūtīsim uz dist mapi
}

Katra darbība veic kādu manipulāciju ar mūsu failu. Piemēram, vispirms var pārveidot LESS par CSS, pēc tam pievienot prefiksus CSS īpašībām, tad minimizēt iegūto CSS un tā tālāk.

Katrai darbībai ir paredzēts savs npm spraudnis Gulp. Spraudņi ir jāinstalē un jāpievieno mūsu failam. Dažādu spraudņu izpēti mēs apskatīsim nākamajās nodarbībās.

Pagaidām iesildīšanai paņemsim mūsu failu un nosūtīsim tā kopiju uz mapi dist, it kā ar to būtu veiktas dažas darbības:

javascriptfunction task(cb) {
  return src('src/styles.css')
    .pipe(dest('dist'));
}
Задание 1

Izveidojiet trīs CSS failus. Izveidojiet trīs publiskus uzdevumus. Lai katrs uzdevums izveido kopiju vienam no mūsu failiem norādītajā mapē.

Ceļu masīvs uz failiem

Funkcija src parametrā var pieņemt nevis vienu failu, bet uzreiz vairākus masīva veidā:

javascriptfunction task(cb) {
  let files = [
    'src/styles1.css',
    'src/styles2.css'
  ];
  
  return src(files)
    .pipe(dest('dist'));
}
Задание 2

Izveidojiet trīs CSS failus. Izveidojiet uzdevumu, kas izveidos mūsu failu kopijas norādītajā mapē.