Optimalizálja összeállításait a Gulp, Browserify és Watchify segítségével
Böngészés egyre inkább életképes megoldás a szkriptek fejlesztésére JS és egy szintaxist javasolunk annak mintájára node.js. Fordítsunk szkripteket a Böngészés Egyszerű. A fejlesztések során a felhasználás Vigyázz lehetővé teszi a fájlok menet közbeni összeállítását. Ennek ellenére, ha összeállítását más feladatokkal szeretné integrálni Korty (mint például a fájlok fordítása Kevésbé), problémába ütközik: hogyan kell használni figyelni ugyanakkor zabálóóra. Válasz ebben a cikkben!
Sommaire
Gulp és Browserify használata – 0. szint
használat Korty et Böngészés elég egyszerű. Használhatja a Browserify API-t, vagy egyszerűbbé teheti a gulp-browserify funkciót, amely lehetővé teszi a fájlok egyszerű összeállítását.
1
2
3
4
5
6
7
8
|
const nyelés = szükség('korty');
const browserify = szükség("gulp-browserify");
gulp.task("js", funkció() {
gulp.src("src/*.js", { olvas: hamis })
.pipe(browserify())
.pipe(gulp.dest('./épít/'))
});
|
A probléma, amellyel gyorsan szembesül, az az, hogy a fájlok feldolgozásához és menet közbeni újrafordításához az összes fájlt elemeznie kell. Ez nagyon drága. Böngészés be kell töltenie az összes fájlt, de az összes használt függőséget is. Minél nagyobb lesz a projektje, annál gyorsabban telik az idő. Ezenkívül, ha használ transzformáció úgymint Babelify az idő még gyorsabban fog duzzadni (A Babelen keresztül elérhető összes plugin listája). Az összes listája is Átalakítások böngészése.
Mielőtt bemutatnám a végső megoldást, nézze meg, hogyan nézne ki a megoldás a klasszikussal zabálóóra.
1
2
3
4
5
|
gulp.task("néz", funkció () {
gulp.watch("./src/*.js", ["js"]).mi("változás", funkció(esemény) {
konzolra.log(`Fájl ${event.path} már ${event.type}`);
});
});
|
Ezzel a megoldással minden alkalommal, amikor módosítja valamelyik fájlját, egy teljes összeállítás indul el.
Vigyázz
Vigyázz segítségével hatékonyan lefordíthatja fájljait Böngészés. Megőrzi a memóriában az egyes fájlok összeállításának eredményét (a fájlhoz kapcsolódó összes fájl, például a függőségek…).
A fájl frissítésekor frissíti az éppen módosított fájl ujjlenyomatát, és létrehoz egy csomag az összes függősége elemzése nélkül.
A Gulp, Browserify és Watchify használata – Level ∞
Node.js függőségek telepítése
Fonallal telepítheted őket (ha tényleg naprakész vagy 🙂)!
1
|
$ yarn add browserify gulp vinyl-buffer vinyl-source-stream watchify –dev
|
Ellenkező esetben a jó öreg NPM-et használod 🙉
1
|
$ npm telepítés böngészőify gulp vinyl-buffer vinyl-source-stream watchify --save-dev
|
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
; const browserify = szükség("böngészés"),
puffer = szükség("vinil puffer"),
nyelés = szükség("korty"),
útvonal = szükség("pálya"),
forrás = szükség(„vinyl-forrás-folyam”),
felhasználó = szükség(“nyal-util”),
figyelni= szükség("figyelni"),
src = {
js: "./src/main.js"
},
rendeltetési hely = {
js: "./épít/"
};
hadd kötegelő;
funkció kötegek(profilok) {
if (köteg === undefiNed) {
if (profil === "néz") {
bundler = watchify(browserify(src.js));
} más {
bundler = browserify(src.js);
}
}
csomag();
}
funkció csomag() {
hadd kezdés = új találka().getTime(),
_ = kötegelő
.csomag()
.mi("hiba", util.log.bind(util, "Böngésző hiba"))
.pipe(source(„main.js”))
.pipe(puffer())
.pipe(gulp.dest(dest.js)),
idő = új találka().getTime() – start;
util.log("[browserify] rebundle take" , use.colors.cyan(`${time} ms`), util.colors.grey(`(${src.js})`));
visszatérés _;
}
gulp.task("js", bundles.bind(null));
gulp.task("néz", funkció () {
kötegek("néz");
bundler.on("frissítés", bundle.bind(null));
});
gulp.task("alapértelmezett", ["néz", "js"]);
|
Itt van egy rendkívül leegyszerűsített, de funkcionális példa. Ez a kód tovább egyszerűsíthető, de egy vázlatot mutat a kódról, amelyet az a forró újratöltés hatékony.
Feladatának egyszerűsítése érdekében egy archívumot bocsátok rendelkezésére a guplfile.js teljesebb, amely kezeli a fájlok fordítását JavaScript -val Babel (és néhány előre beállított mint az ES2015), hanem fájlokat is Kevésbé profilok kezelése közben, mint développement vele vagy nélküle óra de szintén Termelés kicsinyítéssel!
Következtetés
Használata teljesen lehetséges Böngészés hatékonyan Korty feltéve, ha játszol vele API. Ez arra kényszeríti, hogy kicsit letérjen a járt útról, és beépülő modulok nélkül maradjon Korty amit általában használunk.