2016-01-19 7 views
5

मैं वर्तमान में निम्न आदेश का उपयोग कर http-server वाले सर्वर पर Angular 2 चला रहा हूं: http-server ./ index.htmlउत्पादन वातावरण में कोणीय 2 को कैसे चलाएं

यह कोणीय जुर्माना प्रदान करता है। लिंक क्लिक काम करता है। यद्यपि मैं url/route-name के साथ सीधे url.com/route-name में दर्ज करता हूं। ऐप दुर्घटनाग्रस्त हो जाता है।

मैं lite-server का उपयोग कर रहा था लेकिन lite-server दस्तावेज़ों को केवल विकास में इसका उपयोग करने की अनुशंसा की गई थी। lite-server का उपयोग करते समय, मैं url को route से सीधे दर्ज कर सकता हूं और यह ठीक काम करता है।

मैं एक पृष्ठ मार्ग के साथ एक यूआरएल पता दर्ज करने में सक्षम होने के लिए http-server को कॉन्फ़िगर कैसे कर सकता हूं या उत्पादन वातावरण में angular 2 चलाने का एक और अच्छा तरीका क्या है?

+3

को आप अपने सर्वर की जरूरत है यूआरएल कि इतने कोणीय index.html पर किसी मौजूदा फ़ाइल से मेल नहीं खाते रीडायरेक्ट करने के लिए होगा अगर वे http-Serv आर 'में वह विकल्प नहीं है जिसे आपको शायद एक अलग सर्वर खोजने की आवश्यकता है – mzulch

उत्तर

0

जैसा कि mzulch ने कहा था, आपको ऐसे सर्वर की आवश्यकता है जो index.html पर नहीं मिले यूआरएल को रीडायरेक्ट कर सके। आप एक यूआरएल लोड करने में विफल रहते हैं क्योंकि जब आप इस यूआरएल में प्रवेश करते हैं तो कोणीय राउटर लोड नहीं होता है। इसलिए यह अनुरोधों को अवरुद्ध नहीं कर सकता है और ब्राउज़र 404 नहीं मिली त्रुटि प्रदर्शित करता है। lite-server विकास के दौरान परीक्षण करने के लिए एक आदर्श सर्वर है।

उत्पादन में, आप index.html करने के लिए सभी 404 अनुरोधों पुनर्निर्देशित करने के लिए एक nginx सर्वर को कॉन्फ़िगर कर सकते हैं और फिर इसे nginx विन्यास आपको लगता है कि इस तरह परिभाषित कर सकते हैं में वास्तविक 404

को संभालने के लिए अपने कोणीय रूटर की जिम्मेदारी है:

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

यह आपका index.html करने के लिए सभी 404 त्रुटि अनुप्रेषित और परिणत 404 त्रुटि कोड 200

संबंधित मुद्दे