Bun: Linux için en hızlı hepsi bir arada JavaScript çalışma zamanı
Bun Modern bir javascript çalışma zamanı javaScript ve dynpript uygulamalarının gelişimini basitleştirmek ve hızlandırmak için tasarlanmıştır. Geleneksel çalışma sürelerinden farklı olarak, Bun birden çok aracı bir Bundler, Test Runner ve bir Node.js - uyumlu paket yöneticisi dahil olmak üzere tek bir uyumlu pakette birleştirir.
Bunların temel özellikleri :
- Yüksek Performans : BUN, hız göz önünde bulundurularak üretilmiştir. JavaScriptCore'u genişleterek - Safari'yi güçlendiren motor, hızlı başlangıç süreleri ve uygulamalarınızın verimli yürütülmesini sağlar.
- Kapsamlı Araç Seti : BUN ile, kodunuzu paketlemek için bir paketleyici, kod güvenilirliğini sağlamak için bir test koşucusu ve Node.js ile uyumlu bir paket yöneticisi içeren hepsi bir arada bir çözüm elde edersiniz. Geliştirme iş akışınız.
- node.js uyumluluğu : Bun, düğümün modül çözünürlük algoritmasını uygulamak ve fs ve Yol .
- Birinci Sınıf TypeScript ve JSX Desteği : BUN,
.ts .tsx dosyalarını doğrudan tsconfig.json'a saygı duyarak yürütmenizi sağlar.
Ayarlar. Ayrıca jsx sözdizimini javascript için dahili olarak, react ile varsayılan olarak ancak destekleyici özel JSX dönüşümlerini aktarır.
Linux'a Bun'u Yükleme
Unzip paketinin Bun yüklemesi gerekir, bu nedenle gösterildiği gibi yüklemek için dağıtımınızın paket yöneticisini kullanın.
sudo apt install unzip [On Debian, Ubuntu and Mint]
sudo dnf install unzip [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/unzip [On Gentoo Linux]
sudo apk add unzip [On Alpine Linux]
sudo pacman -S unzip [On Arch Linux]
sudo zypper install unzip [On OpenSUSE]
sudo pkg install unzip [On FreeBSD]
Ardından, Bun ikili olarak indirilecek ve sisteminizin yoluna yerleştirecek şekilde BUN’un kurulum komut dosyasını indirmek ve yürütmek için curl komutunu kullanın, bu komutu küresel olarak kullanılabilir hale getirin.
curl -fsSL https://bun.sh/install | bash
Linux'ta Bun'a Başlamak
Bun yükledikten sonra, hızlı bir şekilde yeni bir proje dizinini kurabilir ve uygulamaları oluşturmaya başlayabilirsiniz.
mkdir my-bun-app
cd my-bun-app
Ardından, projenizi ayarlamak için birkaç soru soracak şekilde projeyi Bun ile başlatın. Varsayılan cevapları kabul etmek için Enter tuşuna basın. BUN, package.json
, index.ts
.gitignore ve tsconfig.json
gibi temel dosyalar oluşturur.
bun init
HTTP Sunucusu Oluştur
index.ts
dosyasını açın ve basit bir HTTP sunucusu oluşturmak için aşağıdaki kodu ekleyin:
const server = Bun.serve({
port: 3000,
fetch(request) {
return new Response("Welcome to Bun!");
},
});
console.log(`Listening on http://localhost:${server.port}`);
Şimdi sunucuyu şu şekilde çalıştırın:
bun run index.ts
Http:/localhost: 3000 adresinde mesajını görmelisiniz.
Tarayıcınızı açın ve sunucunuzdan yanıtı görüntülemek için http:// localhost: 3000
adresine gidin.
Bunlarla paketleri yönetme
Projenize yeni bir paket eklemek için, belirtilen paketi yükleyecek ve paketini güncelleyecek olan aşağıdaki komutu kullanın. BUN, diğer paket yöneticilerine benzer şekilde
dizinindeki bağımlılıkları yönetir ve mevcut node.js
projeleriyle uyumluluk sağlar.
bun add figlet
FICHLET'i kullanma işleyicisinde Figlet'i kullanmak için dizin.ts
güncelleme.
import figlet from "figlet";
const server = Bun.serve({
port: 3000,
fetch(request) {
const message = figlet.textSync("Welcome to Bun!", {
horizontalLayout: "default",
verticalLayout: "default",
});
return new Response(message, {
headers: { "Content-Type": "text/plain" },
});
},
});
console.log(`Listening on http://localhost:${server.port}`);
Yeni bir ASCII sanat bayrağı görmek için sunucuyu yeniden başlatın ve sayfayı yenileyin.
Sisteminizden Bun 'ı kaldırmanız gerekiyorsa, aşağıdaki komutu kullanın.
rm -rf ~/.bun
Çözüm
BUN, birden fazla aracı tek bir platforma entegre ederek geliştirme sürecini basitleştiren güçlü ve verimli bir JavaScript çalışma zamanıdır.
Yüksek performansı, node.js uyumluluğu ve typeScript ve jsx için birinci sınıf desteği, bunu modern bir arayan geliştiriciler için ideal bir seçim haline getiriyor. , aerodinamik gelişim deneyimi.