Birlikte çalıştığım başlıyorum webpack
bir ile node/express
gelişmekte olan bir ortamda ReactJS
sunucu tarafı render uygulaması react-router
. Geliştirme ve üretim (çalışma zamanı) ortamları için her bir web paketi paketinin rolü konusunda kafam iyice karışıyor.
İşte anlayışımın özeti:
webpack
: Bir web uygulamasının farklı parçalarını bir araya getiren ve daha sonra tek bir .js dosyasında (normalde bundle.js
) paketleyen bir paket, araçtır . Sonuç dosyası daha sonra uygulama tarafından yüklenecek bir üretim ortamında sunulur ve kodu çalıştırmak için gerekli tüm bileşenleri içerir. Özellikler arasında kod küçültme, küçültme vb.
webpack-dev-server
: Web sitesi dosyalarını işlemek için bir sunucu sunan bir pakettir . Ayrıca bundle.js
, istemci bileşenlerinden tek bir .js dosyası ( ) oluşturur, ancak bunu bellekte sunar. Ayrıca, -hot
tüm yapı dosyalarını izleme ve kod değişiklikleri durumunda bellekte yeni bir paket oluşturma seçeneğine de ( ) sahiptir . Sunucu, doğrudan tarayıcıda sunulur (örn:) http:/localhost:8080/webpack-dev-server/whatever
. Bellek içi yükleme, sıcak işleme ve tarayıcı hizmetinin kombinasyonu, geliştirme ortamı için ideal olan kod değiştiğinde kullanıcının uygulamayı tarayıcıda güncellemesini sağlar.
Yukarıdaki metinle ilgili şüphelerim varsa, aşağıdaki içerikten gerçekten emin değilim, bu yüzden lütfen gerekirse bana bildirin
Kullanarak yaygın bir sorun webpack-dev-server
olan node/express
, IS webpack-dev-server
bir sunucu, gibidir node/express
. Bu, bu ortamı hem istemciyi hem de bazı düğüm / ekspres kodu (API vb.) Çalıştırmak için zor hale getirir. NOT: Karşılaştığım şey buydu, ancak bunun neden daha ayrıntılı olarak gerçekleştiğini anlamak harika olurdu ...
webpack-dev-middleware
: Bu, aynı işlevlere webpack-dev-server
(bellek içi gruplama, çalışırken yeniden yükleme) sahip, ancak server/express
uygulamaya eklenebilecek formatta bir ara yazılımdır . Bu şekilde, webpack-dev-server
düğüm sunucusunda bir tür sunucuya (the ) sahip olursunuz . Oops: Bu çılgın bir rüya mı ??? Bu parça geliştirme ve üretim denklemini nasıl çözebilir ve hayatı kolaylaştırabilir
webpack-hot-middleware
: Bu ... Buraya sıkışmış ... Bu parçayı ararken buldum webpack-dev-middleware
... Nasıl kullanacağımı bilmiyorum.
ENDNOTE: Üzgünüm, yanlış bir düşünce var mı? Bu değişkenleri karmaşık bir ortamda anlamak için gerçekten yardıma ihtiyacım var. Uygunsa, lütfen tüm senaryoyu oluşturacak daha fazla paket / veri ekleyin.
webpack-dev-middleware
(ve potansiyel olarakwebpack-hot-middleware
). Sahip olmasını istemediğiniz belirli bir özellik olmadığı sürecewebpack-dev-server
, onu kullanmalısınız.