Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure için JavaScript uygulamaları geliştirirken, yerel geliştirme ortamınızda ve konak çalışma zamanı ortamınızda Node.js sürümlerini hizalamak çok önemlidir. Bu sürüm hizalaması uyumluluğu sağlar, çalışma zamanı hataları olasılığını azaltır ve Azure platformunun tüm özelliklerini kullanır. Bu makalede, Azure'da barındırılan uygulamalarınız ve hizmetleriniz için uygun Node.js sürümünü seçmeyi öğreneceksiniz.
Node.js sürümleri
Node.js hem Uzun Vadeli Destek (LTS) hem de Geçerli sürümleri içeren öngörülebilir bir sürüm zamanlamasını izler. LTS sürümleri uzun süreli bakım ve kararlılık için tasarlanmıştır ve üretim ortamları için idealdir. Bu sürümler, genellikle 30 ay olmak üzere uzun bir süre boyunca kritik hata düzeltmeleri, güvenlik güncelleştirmeleri ve performans iyileştirmeleri alır. Node.js, LTS ile Geçerli sürümleri ayırt etmek için çift/tek numaralandırma sistemi kullanır: çift numaralı sürümler (örneğin, 20, 22, 24) LTS sürümleridir, tek numaralı sürümler ise (örneğin, 21, 23, 25) Güncel sürümlerdir. Geçerli sürümler en son özellikleri ve iyileştirmeleri içerir ancak yalnızca altı ay boyunca desteklenir ve daha sonra çift numaralıysa LTS sürümüne geçerler.
Altı aylık zaman aralığı Azure barındırma platformu çalışma zamanları ve SDK'ları ile yanlış hizalanabileceğinden üretimde Geçerli sürümleri kullanmamalısınız. Node.js için geliştirme kapsayıcılarının tek numaralı/Mevcut sürümler sunmadığını fark edeceksiniz.
Önkoşullar
Tüm Azure SDK'ları ve barındırma hizmetleri Node.jsLTS sürümlerini kullanır. Uygulama kodunuz desteklenmeyen bir Node.jssürümünde çalışıyorsa, uygulama kaynak kodunuzu şu anda desteklenen bir LTS çalışma zamanında çalışacak şekilde güncelleştirmeniz gerekir.
Ayrıca hangi barındırma hizmetine dağıtmayı planladığınızı ve dağıtılan uygulamanızın kullandığı tüm Azure hizmetlerini de bilmeniz gerekir.
Ortamlar arasında uyumluluk
Uygulamanızın hangi Azure hizmetlerini ve SDK'larını kullandığını öğrendiğinizde, uygulama için tüm ortamların aynı Node.jssürümünü derleyip çalıştıradığından emin olun:
- yerel geliştirme ortamı veya geliştirme kapsayıcısı
- CI/CD işlem ortamı
- Uygulama konağı çalışma zamanı
- Azure SDK’ları
Ortamınızda farklı sürümleri kullanmayla ilgili sorunların açıklaması için bkz . Uyumluluk sorunları.
Barındırma hizmetleri
Azure barındırma hizmetlerini kullanırken, kapsayıcıyı konağa dağıtabilir veya konak için çalışma zamanı olarak Node.js sürümünü seçebilirsiniz. Her iki durumda da çalışma zamanının sürümünü, uygulama kodunu ve Azure SDK'ları gibi bağımlılıkları hizalamanız gerekir.
Çalışma zamanı bilgilerini bulmak için aşağıdaki tabloyu kullanın:
Service
Sürüm bilgileri
Linux çalışma zamanları için. Desteklenen tüm sürümleri görmek için aşağıdaki Azure CLI komutunu da çalıştırabilirsiniz.
az webapp list-runtimes | grep node
Yeni projeler en son programlama modelini kullanmalıdır.
Dikkate alınması gereken iki farklı çalışma zamanı vardır: API'nizi Statik Web Apps'te barındırıyorsanız ön uç ve API.
SWA CLI ara sunucu, kimlik doğrulaması ve diğer yapılandırmalar dahil olmak üzere geliştirme ortamı işlevselliği sağlar.
Azure SDK’ları
Azure SDK'ları, destek ilkesinde belirtildiği gibi Node.js LTS sürümleri gerektirir. Yeni Node.js LTS sürümlerinin doğrulanması zaman aldığından, barındırma ortamı tarafından desteklenen LTS sürümlerinin ve SDK'ların eşleşmediği kısa bir süre olabilir. Genellikle uzun vadeli destek sürümleri olarak işaretlenmiş üç Node.js sürümü olduğundan, genellikle orta sürümü hedefleyebilirsiniz. Bu hedef, uygulamanızın sonraki LTS sürümüne geçebileceğini test edip doğrulamanız için biraz zaman tanır.
Node.js'nin birden çok sürümünü yönetme
Yerel ve uzak ortamlarınızda birden fazla Node.js sürümünü yönetmeniz gerektiğinde şunları öneririz:
- Geliştirme Kapsayıcıları: Belirli bir Node.js sürümünü içeren bir kapsayıcı kullanın. Kapsayıcıları kullanarak çeşitli ortamlarda Node.js sürümünü yönetebilirsiniz. Visual Studio Code'un "Remote - Containers" uzantısı bu işlemi basitleştirir.
- NVM (Node Version Manager): Node.js yerel sürümünüzü ayarlamak veya değiştirmek için bir komut satırı arabirimi.
hedeflenen kullanımınıza göre Node.js indirme ve yükleme
gereksinimlerinize göre Node.js indirip yükleyebilirsiniz.
Uyumluluk sorunları
Node.js sürümleri ortamlar arasında eşleşmediğinde ortaya çıkabilecek bazı yaygın uyumluluk sorunları kategorileri şunlardır:
Güvenlik Açıkları: Bilinen güvenlik açıklarıyla güncel olmayan bir sürüm kullanmak uygulamanızı güvenlik risklerine maruz bırakabilir.
Söz Dizimi Hataları: Eski Node.js sürümleri tarafından desteklenmeyen en son JavaScript söz dizimini kullanan uygulamalar söz dizimi hatasına neden olabilir. Bu hatalar uygulamanın çalışmasını engeller.
Kullanım dışı API'ler: Daha yeni Node.js sürümlerde kullanım dışı bırakılan API'ler eski sürümlerde de mevcut olabilir ve bu da sürümler hizalanmamışsa beklenmeyen davranışlara veya çalışma zamanı hatalarına neden olabilir.
Performans Düşüşü: Daha yeni Node.js sürümleri genellikle performans iyileştirmeleri içerir. Uygulamanızı daha eski bir sürümde çalıştırmak, yürütme sürelerinin daha yavaş ve performansın düşmesine neden olabilir.
Tutarsız Davranış: Node.js sürümlerin arabellek işleme, olay döngüsü davranışı veya modül çözümlemesi gibi belirli işlemleri nasıl işlediğindeki farklılıklar, ortamlar arasında tutarsız davranışa yol açabilir.
Bağımlılık Çakışmaları: Node.js bir sürümüyle uyumlu Node.js modülleri veya paketleri başka bir sürümle uyumlu olmayabilir ve bu da bağımlılık çakışmalarına ve çalışma zamanı hatalarına neden olabilir.
Derleme Hataları: Yerel geliştirme ortamından farklı bir Node.js sürümü kullanan CI/CD işlem hatları derleme hatalarına yol açarak geliştirme ve yayın sürecinde gecikmelere neden olabilir.
Tüm ortamların aynı Node.jssürümünü kullanmasını sağlayarak, bu uyumluluk sorunlarını hafifletebilir ve daha sorunsuz bir geliştirme ve dağıtım süreci sağlayabilirsiniz.