Express.js nedir?


439

Ben Node.js'de öğreniyorum .

  1. Nedir Express.js ?
  2. Node.js ile amacı nedir?
  3. Neden Express.js'ye ihtiyacımız var? Node.js ile kullanmak bizim için ne kadar yararlı?
  4. Nedir Redis ? Express.js ile birlikte mi geliyor?

28
Topluluk-wiki yanıtına (+50 ödüllü) gidin. Ben işaretli cevap daha yararlı buldum.
Shishir Gupta

Yanıtlar:


266

İşte bu basitleştirilmesi bitti ama Express.js etmektir node.js Ne Ruby on veya Sinatra etmektir Ruby .

Express 3.x, web uygulamanızı sunucu tarafında bir MVC mimarisi halinde düzenlemenize yardımcı olan hafif bir web uygulaması çerçevesidir. Şablonlama diliniz için çeşitli seçenekler kullanabilirsiniz ( EJS , Jade ve Dust.js gibi ).

Ardından Node.js uygulamanız için bir arka uç sağlamak için Mongoose ile MongoDB gibi bir veritabanı (modelleme için) kullanabilirsiniz. Express.js temel olarak rotalardan istekleri ve görünümleri işleme kadar her şeyi yönetmenize yardımcı olur.

Redis, Node.js uygulamalarında oturumlar ve önbellekleme için yaygın olarak kullanılan bir anahtar / değer deposudur. Bununla daha fazlasını yapabilirsiniz, ama bunun için kullanıyorum. Satır öğesi <-> sipariş <-> kullanıcı ilişkileri gibi daha karmaşık ilişkiler için MongoDB kullanıyorum. Express.js ile çalışacak modüller (özellikle connect-redis) vardır. Redis veritabanını sunucunuza kurmanız gerekir .

Express 3.x kılavuzuna bir link: https://expressjs.com/en/3x/api.html


20
Ekspres raylardan ziyade sinatra gibidir.
halfelf

11
Ekspres özellikle sinatra'dan ilham aldı. Muhtemelen en önemli özelliği yönlendirme; ayrıca connect tarafından sağlanan tüm ara katman yazılımlarını da sağlar (connect ara katman yazılımına ihtiyaç duyan en spesifik uygulamalar dışında tüm özelliklerin büyük olasılıkla express kullanacağı noktaya).
ebohlman

Redis'in aslında karmaşık ilişkiler için ideal olduğunu söyleyebilirim.
artı-

EJS bağlantısı şu anda öldü.
David Spector

MVC'nin Express ile olan ilişkisini gerçekten anlamıyorum. Doğru hatırlıyorsam Express'in hiçbir modeli ve görünümü yok. MVC çerçevesi değil, orta katman tabanlı bir çerçeve. Lütfen bunu açıklayın.
Gherman

382

1) Express.js nedir?

Express.js bir Node.js çerçevesidir. Şu andaki en popüler çerçeve (NPM'de en çok rol alan).

Resim açıklamasını buraya girin.

Connect ara katman yazılımının yapılandırması ve ayrıntılı sadeliği üzerine inşa edilmiştir. Bazı insanlar Express.js ile Ruby Sinatra'yı hantal ve düşünceli Ruby on Rails ile karşılaştırır .

2) Node.js ile amacı nedir?

Aynı kodu tekrar tekrar tekrarlamak zorunda değilsiniz. Node.js, HTTP modülüne sahip düşük düzeyli bir G / Ç mekanizmasıdır. Sadece bir HTTP modülü kullanıyorsanız, yükü, çerezleri, oturumları (bellekte veya Redis'te ) saklama , düzenli ifadeler edecek olan yeniden hayata olmak. Express.js ile, sadece orada kullanabilirsiniz.

3) Neden Express.js'ye ihtiyacımız var? Node.js ile kullanmak bizim için ne kadar yararlı?

İlk cevap sorunuzu cevaplamalıdır. Hayır ise, küçük bir yazı yazmaya çalışınHayırsa, düz Node.js'ye (yani yalnızca çekirdek modülleri kullanarak) ve sonra Express.js'ye REST API sunucusu . İkincisi 5-10 kat daha az zaman ve kod satırı alacaktır.

Redis nedir? Express.js ile birlikte mi geliyor?

Redis, hızlı ve kalıcı bir anahtar / değer deposudur. İsteğe bağlı olarak Express.js ile oturum depolamak için kullanabilirsiniz, ancak buna gerek yoktur. Varsayılan olarak, Express.js oturumları için bellek depolama alanına sahiptir. Redis, örneğin e-posta işleri gibi kuyruk işleri için de kullanılabilir.

Express.js ile REST API sunucusundaki eğitimime göz atın .

MVC ama kendi başına değil

Express.js olduğu değil kendi başına bir model görüntü kontrol çerçevesi. MongoDB için Mongoose, SQL veritabanları için Sequelize ( http://sequelizejs.com ), birçok veri tabanı için Waterline ( https://github.com/balderdashy/waterline ) gibi kendi nesne-ilişkisel harita kitaplıklarınızı getirmeniz gerekir . yığını.

Alternatifler

Dikkate alınması gereken diğer Node.js çerçeveleri ( https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API ):

GÜNCELLEME: İnsanların Node.js çerçevelerini seçmelerine yardımcı olan bu kaynağı bir araya getirdim: http://nodeframework.com

GÜNCELLEME2: nodeframework.com'a bazı GitHub istatistikleri ekledik, böylece artık bir sayfada 30'dan fazla çerçeve için sosyal kanıt düzeyini (GitHub yıldızları) karşılaştırabilirsiniz.

resim açıklamasını buraya girin

Tam yığını:

Sadece REST API'sı:

Ruby on Rails gibi:

Sinatra gibi:

Diğer:

Ara Katman:

Statik saha jeneratörleri:


Şunu söylemek doğru olur mu? - Express.js bir Node.js modülüdür (1. satırınızda çerçeve olarak ele aldınız). Düğüm terimlerini moduleoldukça sık duydum . Bir çerçevenin içindeki çerçeve benim için biraz haber.
RBT

Evet, uygulamada olduğu gibi Express, npm'deki diğer modüller gibi bir uygulamaya eklendiği kadar bir Düğüm Paketi Yöneticisi (npm) modülü (paket olarak da bilinir). (Bir Node Express uygulamasının kaynak klasörüne bakarsanız, node_modules adında bir klasör görürsünüz. Bu, express adlı bir alt klasör içerir.) Ancak npm'deki diğer modüllerden çok daha kullanışlıdır, çünkü uygulama kodlayıcısına ortak görevler için bir API sağlayan etkin modüllerin yüklenmesi. Bir çerçeve içinde çerçeve? Daha çok bir sunucu oluşturma çerçevesine eklenebilir bir uygulama çerçevesi gibi.
Gövde

15
  1. Express.js nedir?

Express.js, tek sayfalık, çok sayfalı ve karma web uygulamaları oluşturmak için tasarlanmış bir Node.js web uygulama sunucusu çerçevesidir. Node.js için fiili standart sunucu çerçevesidir.

Express üzerine kurulu çerçeveler.

Express üzerinde birkaç popüler Node.js çerçevesi oluşturulmuştur:

LoopBack: Hızla dinamik uçtan uca REST API'leri oluşturmak için son derece genişletilebilir, açık kaynaklı Node.js çerçevesi.

Yelkenler: Pratik, üretime hazır uygulamalar oluşturmak için Node.js için MVC çerçevesi.

Kraken: Yapı ve konvansiyon sağlayarak Express'i genişleten güvenli ve ölçeklenebilir katman.

ORTALAMA: Web uygulaması geliştirmeyi basitleştiren ve hızlandıran, tam kapsamlı JavaScript çerçevesi.

  1. Node.js ile amacı nedir?
  2. Neden Express.js'ye ihtiyacımız var? Node.js ile kullanmak bizim için ne kadar yararlı?

Express, Connect ara katman yazılımı için ölü basit yönlendirme ve destek ekleyerek birçok uzantıya ve kullanışlı özelliğe izin verir.

Örneğin,

  • Oturum ister misiniz? Orada
  • POST gövdesi / sorgu dizesi ayrıştırma ister misiniz? Orada
  • Yeşim, bıyık, ejs vb.Ile kolay templasyon yapmak ister misiniz? Orada
  • Tüm sunucunun çökmesine neden olmayacak zarif hata işleme mi istiyorsunuz?

10
  1. Express.js, Node.js için modüler bir web çerçevesidir
  2. Web uygulamalarının ve hizmetlerinin daha kolay oluşturulması için kullanılır
  3. Express.js, geliştirmeyi basitleştirir ve güvenli, modüler ve hızlı uygulamalar yazmayı kolaylaştırır. Tüm bunları düz eski Node.js'de yapabilirsiniz, ancak güvenlik endişeleri de dahil olmak üzere bazı hatalar ortaya çıkabilir (ve olacaktır) (ör. Bir dizeden düzgün bir şekilde kaçmamak)
  4. Redis, hızlı performansı ile bilinen bir bellek içi veritabanı sistemidir. Hayır, ancak redis istemcisi kullanarak Express.js ile kullanabilirsiniz

Bundan daha kısa olamazdım. Diğer tüm ihtiyaçlarınız ve bilgileriniz için Google arkadaşınızdır.


3

ExpressJS çıplak kemikler NodeJS üstünde bir web uygulaması çerçevesinde.

Web Uygulamalarını, RESTFUL API'lerini vb. Hızlı bir şekilde oluşturmak için kullanılabilir.

Jade, EJS gibi çoklu şablon motorlarını destekler.

ExpressJS, temel özellikler olarak yalnızca minimalist bir işlevselliği korur ve bu nedenle varsayılan olarak desteklenen ORM'ler veya DB'ler yoktur. Ancak biraz çaba ile expressjs uygulamaları farklı veritabanlarına entegre edilebilir.

ExpressJS uygulamaları oluşturma hakkında başlangıç ​​kılavuzu için aşağıdaki bağlantıya bakın:

ExpressJS Tanıtım Eğitimi


3

Express, Düğüm için, istemcilerden gelen tüm giriş / bağlantı isteklerini "dinleyecek" sunuculara dayalı uygulamalar için kullanabileceğiniz bir modül çerçevesidir. Düğümde kullandığınızda, yalnızca Düğüm modüllerinizden yerleşik Express dosyasının kullanılmasını istediğinizi söylüyorsunuz.

Express, NodeJS'de arka uçları olan birçok Web Uygulamasının "omurgasıdır". Bildiğim kadarıyla, birincil varlık 2 ana bilgisayarlar arasında "etkileşim" hizmetlerini idare eden bir yönlendirme sistemi sağlanmasıdır. Bunun için Yelkenler gibi birçok alternatif var.


2

Express.js, Düğüm için kullanılan bir çerçevedir ve en yaygın olarak, düğüm js için bir web uygulaması olarak kullanılır.

Hızlı bir şekilde https://www.youtube.com/watch?v=QEcuSSnqvck ile bir düğüm uygulamasının nasıl kurulacağına ilişkin bir video bağlantısı


Mutlak yeni başlayanlar için harika bir açıklama!
Ankit Pandey

0

Express.js, TJ Holowaychuk tarafından oluşturuldu ve şimdi topluluk tarafından yönetiliyor. Düğümdeki en popüler çerçevelerden biridir. Js. Express, web uygulamaları veya RESTful API gibi çeşitli ürünler geliştirmek için de kullanılabilir. Daha fazla bilgi için lütfen expressjs.com resmi sitesinde okuyun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.