
ESBuild

Н.Чигцалмаа
Багш


Н.Чигцалмаа
Багш
esbuild-ийг 2020 онд Evan Wallace хөгжүүлсэн.
Түүний гол зорилго нь JavaScript болон TypeScript дээр бичигдсэн кодын боловсруулалтын хурдыг эрс нэмэгдүүлж, хөгжүүлэгчдэд хүлээлт үүсгэхгүйгээр шууд үр дүнгээ харах боломжийг олгох явдал юм.

Уламжлалт хэрэгслүүд (жишээ нь Webpack, Rollup) нь голчлон JavaScript хэл дээр бичигдсэн байдаг. Харин esbuild нь Go (Golang) хэл дээр бичигдсэнээрээ дараах давуу талуудыг бий болгодог.
Олон цөмт боловсруулалт: Компьютерын төв процессорын бүх цөмийг зэрэг ашиглаж, даалгавруудыг параллель байдлаар гүйцэтгэдэг.
Санах ойн үр ашигтай удирдлага: Өгөгдлийг нэг шатнаас нөгөөд шилжүүлэхдээ санах ойг бага зарцуулж, хурдны саатал үүсэхээс сэргийлдэг.
Архитектур ба ажиллагааны зарчим
esbuild-ийн архитектур нь дараах үндсэн үе шатуудаас бүрдэнэ:
Parsing (Шинжилгээ) – JavaScript/TypeScript кодыг синтаксийн мод (AST) болгон задлах
Bundling (Нэгтгэх) – Олон файлыг dependency-ийн дагуу нэг эсвэл цөөн файл болгон нэгтгэх
Transform (Хувиргалт) – TypeScript → JavaScript, JSX → JS зэрэг хөрвүүлэлт
Minification (Шахалт) – Кодын хэмжээг багасгах
Output (Гаралт) – Бэлэн build файлууд үүсгэх
Эдгээр шат бүрийг esbuild параллель байдлаар гүйцэтгэдэг нь уламжлалт JavaScript-д суурилсан build хэрэгслүүдээс ялгарах гол хүчин зүйл юм.

Өнөөдөр Vite зэрэг дэлхийн хамгийн алдартай хөгжүүлэлтийн фреймворкууд esbuild-ийг үндсэн хөдөлгүүрээ болгон ашиглаж байна. Энэ нь:
Вэб аппликейшн (React, Vue г.м) хөгжүүлэлтийн цагийг хэмнэх.
Сервер талын программ (Node.js) боловсруулалтыг хурдасгах.
Байгууллагын системүүдийн тогтмол шинэчлэлт (CI/CD) хийх зардлыг бууруулахад өндөр ач холбогдолтой юм.