2017-06-27 40 views
5

मैं स्थानीय फ़ायरबेस सर्वर (जिसे 'फायरबेस सेवा' के साथ शुरू किया गया है) पर एक वेबैप चला रहा हूं।फायरबेस स्थानीय सर्वर> फ़ाइलों को बदलते समय ब्राउजर को रीफ्रेश कैसे करें

मैं क्या चाहते हैं एक तरह से मेरे मुवक्किल (ब्राउज़र लिपि) बताने के लिए है कि मेरी परियोजना फ़ाइलों के लिए एक ब्राउज़र को ताज़ा आरंभ करने के लिए में बदल दिया है मिल रहा है।

पूर्व परियोजनाओं (एक NodeJS सर्वर चल) मेरी समाधान में एक WebSocket कनेक्शन बैकएंड और दृश्यपटल के बीच स्थापित करने के लिए किया गया था। इसलिए हर बार सर्वर दोबारा शुरू किए जाने (फ़ाइल परिवर्तन की वजह से ..., कि मैं nodemon तरह नजर रखने वालों का उपयोग कर ... के लिए देख रहा था), मेरे serverside कोड एक नया कनेक्शन ग्राहक के लिए डाल, जिसने उस घटना की बात सुनी और ब्राउजर को रीफ्रेश किया।

समस्या मेरी firebase सर्वर के साथ है कि मैं अपने खुद के बैकएंड कोड नहीं चला और मैं कैसे अपने ग्राहक को बताने के लिए पर कोई जानकारी नहीं मिली है कि, यह मेरा परियोजना फ़ाइलों को बदल दिया है । वास्तव में, मेरे फ़ायरबेस सर्वर को पुनरारंभ नहीं करता है क्योंकि अभी तक इस बैकएंड-कम वातावरण में इसकी आवश्यकता नहीं है। लेकिन मुझे लगता है कि कम से कम यह मेरे फ़ायरबेस सर्वर को नोडमोन या कुछ के माध्यम से चलाकर किया जा सकता है।

अतिरिक्त जानकारी: मैंने वेबपैक-डीवी-सर्वर का उपयोग करके एक रास्ता खोजने का प्रयास किया, जिसमें ऑटो-रीफ्रेश एकीकृत है, लेकिन दोनों सर्वरों के बीच एक लिंक या विभिन्न बंदरगाहों पर चलने और उन्हें अलग करने के लिए एक तरीका नहीं मिला कार्य।

मेरे प्रश्न हो सकते हैं: क्या फ़ायरबेस सर्वर में कोई समाधान लागू किया गया है? फाइलों में बदलाव होने पर क्लाइंटसाइड घटनाओं को ट्रिगर करने का कोई तरीका है? या अंततः क्लाइंट के साथ websocket कनेक्शन बनाने के लिए अपने स्वयं के फायरबेस बैकएंड मिडलवेयर चलाने के लिए?

कोई सुझाव स्वागत है।


संपादित करें:

मैं एक तरह से browsersync का उपयोग कर पाया। चूंकि browserync अन्य सर्वरों के लिए प्रॉक्सी के रूप में कार्य कर सकता है (मेरे मामले में: फायरबेस सर्वर), यह सेटअप करना बहुत आसान है।

स्थापना के बाद सिर्फ अपनी परियोजना निर्देशिका पर जाकर टाइप जैसे:

ब्राउज़र-सिंक --proxy शुरू "स्थानीय होस्ट: 5000" --files "जिले/*"

जहां "स्थानीय होस्ट: 5000 "मेजबान और बंदरगाह है जो आपका वर्तमान सर्वर adresses और" dist "निर्देशिका है जिसे परिवर्तनों के लिए देखा जाना चाहिए।

प्रति डिफ़ॉल्ट ब्राउज़रसिंक आपके ऐप को "लोकलहोस्ट: 3000" पर सेवा प्रदान करेगा।browsersync homepage

उत्तर

3

जब आप वेब पेज को फिर से लोड पर

अधिक जानकारी, Firebase CLI उपकरण स्थानीय डिस्क से नवीनतम फ़ाइलें सेवा करते हैं।

जब आप डिस्क पर स्थानीय फ़ाइल को संशोधित करते हैं, तो फायरबेस सीएलआई उपकरण ब्राउज़र में उस फ़ाइल को ऑटो-रीलोड नहीं करता है। फायरबेस सीएलआई उस सामग्री के बारे में बहुत कम जानता है जो यह सेवा कर रहा है, इस समय इस सुविधा को लागू करने के लिए निश्चित रूप से बहुत कम है।

यदि आप यह सुविधा जोड़ना चाहते हैं, तो मेरा सुझाव है कि आप इसे feature request on the firebase-tools repo के रूप में जोड़ें।

+1

धन्यवाद। तुम मुझे सही दिशा में मिला। जैसा कि आपने बताया है, एक ऐप के बैकएंड में फायरबेस ज्यादातर "रुचि" है। इसलिए, फ्रंटएंड कार्यों को अन्य सॉफ़्टवेयर द्वारा बेहतर हल किया जा सकता है। हालांकि यह अच्छा होगा, अगर फायरबेस सर्वर में ऐसी सुविधा थी – sasha

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

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