2016-01-19 19 views
5

Şu anda aşağıdaki komutu kullanarak http-serverhttp-server1 bir sunucuda Angular 2 çalışıyorum: http-server ./ index.html.Bir üretim ortamında açısal 2 nasıl çalıştırılır

Bu, açısal para cezasını sağlar. Bağlantı tıklaması çalışır. Her ne kadar /route-name ile url'a url.com/route-name'da olduğu gibi giriyorum. Uygulama kilitleniyor.

lite-server kullanıyordum, ancak yalnızca geliştirme aşamasında kullanmak için önerilen lite-server belgelerinde önerilir. lite-server kullanırken, bir url doğrudan bir route girebilir ve iyi çalışıyor.

Bir sayfa yoluna sahip bir URL adresi girebilmek veya angular 2'u bir üretim ortamında çalıştırmanın başka bir iyi yolu olan http-server10'u nasıl yapılandırabilirim?

+3

200 dönüşecek http-servis ise, bunları rota olarak ele alabilir r 'bu seçeneği kullanmıyor muhtemelen farklı bir sunucu bulmanız gerekiyor – mzulch

cevap

0

mzulch'in dediği gibi, index.html'de bulunmayan url'yi yeniden yönlendirebilen bir sunucuya ihtiyacınız var. Bu URL'ye girdiğinizde açısal yönlendirici yüklenmediğinden bir url yükleyemiyorsunuz. Böylece istekleri kesemez ve tarayıcıda 404 bulunamadı hatası görüntülenir. lite-server, geliştirme sırasında test etmek için mükemmel bir sunucudur.

üretiminde, index.html tüm 404 isteklerini yönlendirmek için bir nginx sunucusunu yapılandırabilir ve daha sonra böyle bu tanımlayabiliriz nginx yapılandırmada gerçek 404

işlemek için açısal yönlendirici sorumlusunuz:

server { 
    error_page 404 =200 /index.html 
    # other conf 
} 

Bu index.html'ye tüm 404 hatası yönlendirmek ve Çok köşeli index.html için varolan bir dosyayı eşleşmeyen URL'leri yeniden yönlendirmek için sunucuya ihtiyaç 404 hata kodu