2015-02-19 15 views
6

मैंने एम्बरजे के साथ एम्बर सीएलआई 0.1.15 का उपयोग करके अपना वेबपैप विकसित किया। 1.8.1एम्बर सीएलआई/ब्राउज़र रीफ्रेश/उत्पादन/404

मैंने इस आदेश के साथ ऐप बनाया: एम्बर बिल्ड - पर्यावरण उत्पादन, और फिर मैंने अपनी परियोजना के डिस्ट फ़ोल्डर के तहत उत्पादित फ़ाइलों में से एक युद्ध किया, और फिर मैंने अपने टोमकैट पर WAR को छोड़ दिया वेबपैस फ़ोल्डर।

तो, जब मैं ऐप खोलता हूं: ... यह ठीक हो गया, मैंने अपनी लॉगिन स्क्रीन देखी, मैंने लॉग इन किया, और मेरे ऐप में चारों ओर नेविगेट किया। मैं बैक/फॉरवर्ड बटन भी कर सकता था, और एम्बर संक्रमण को अच्छी तरह से संभालता है।

लेकिन जब मैं अपने ब्राउज़र पर रीफ्रेश बटन क्लिक करता हूं - ब्राउज़र के पता बार उस समय http://mytomcat/myapp/inventory/ दिखा रहा था - मुझे टॉमकैट से 404 उत्तर मिला।

तब मुझे पता चला कि यह क्यों हुआ: ताज़ा बटन पथ/myapp/myinventory/के लिए टोमकैट के लिए अनुरोध भेजता है ... निश्चित रूप से पथ/myinventory सर्वर पर मौजूद नहीं है। हम उन सभी मार्गों को ब्राउज़र पर देखते हैं - बेस यूआरएल को छोड़कर, - क्लाइंट-साइड पर उत्पन्न होते हैं।

तो, मेरा सवाल है: इस स्थिति से निपटने के लिए सही तरीका क्या है (एम्बर में)? मुझे बस काम करने के लिए ताज़ा बटन चाहिए। ताज़ा बटन को अवरुद्ध करने के लिए एम्बर के लिए किसी भी तरह से क्लिक किया गया ईवेंट?

मुझे लगता है कि यह समस्या इस से संबंधित है: https://github.com/stefanpenner/ember-app-kit/issues/486, लेकिन मेरे पास उत्तर देने की आवश्यकता नहीं है।

अग्रिम धन्यवाद, राका

--- अद्यतन ---

शायद प्रासंगिक: http://eviltrout.com/2014/04/10/the-refresh-test.html

+0

के लिए इस विकल्प को निर्दिष्ट करने की है अगर आप के लिए निम्न कार्य http://stackoverflow.com/questions/26177910/ember-cli-on-apache-tomcat – Kalman

+0

धन्यवाद! यह काम करता हैं। इसे उत्तर के रूप में कैसे स्वीकार करें? वैसे .... अब एक और मुद्दा (अलग एक), जाहिर है जब आप रीफ्रेश बटन दबाते हैं, ब्राउज़र पूरी साइट को फिर से लोड करता है (सभी स्क्रिप्ट के साथ), सब कुछ रीसेट कर रहा है, जिसमें "लॉग इन यूज़र" आवेदन नियंत्रक .... क्या यह ब्राउज़र की बात है? या एम्बर चीज? उनमें से किसी को भी रोकने के लिए कैसे रोकें .... या वास्तव में एक अपराध ताज़ा कर रहा है? –

उत्तर

7
  1. अंदर config/environment.js फ़ाइल, वहाँ एक संपत्ति locationType कहा जाता है। इसके मान को hash

  2. मैन्युअल रूप से आपके /dist फ़ोल्डर से फ़ाइलों को ले जाने का समय समय लेने वाला और परेशान है। इसके बजाय, आप अपने .ember-cli में output-path प्रॉपर्टी निर्दिष्ट कर सकते हैं जिसमें वेबपैस के अंदर मौजूद स्थान है, जिन्हें आप फ़ाइलों को स्थानांतरित करने का प्रयास कर रहे हैं। एक अन्य विकल्प देखें ember server या ember build

+2

तो क्या इसका मतलब यह है कि रास्ते के रूट पर इस "कष्टप्रद" छोटे हैश के बिना एम्बर ऐप्स उत्पादन में संभव नहीं है? – cwarny

+1

मुझे भी एक ही समस्या है। 'हैश' में स्थान प्रकार बदलने के बाद यूआरएल में '#'। इसके लिए कोई समाधान? –