28

के परिणामस्वरूप डुप्लीकेट हो जाता है। मेरे पास जावास्क्रिप्ट खनन से संबंधित एक अजीब समस्या है, समस्या यह है कि जावास्क्रिप्ट फ़ाइलों जैसे test1.js, test2.js को /assets/javascript/test फ़ोल्डर के अंदर रखना और बंद संकलक के लिए निम्न विकल्पों का उपयोग:प्ले फ्रेमवर्क 2: जावास्क्रिप्ट को मिनीफिकेशन (Google क्लोजर कंपाइलर)

val defaultOptions = new CompilerOptions() 
    defaultOptions.closurePass = true 
    defaultOptions.setProcessCommonJSModules(false) 
    defaultOptions.setPrettyPrint(true) 
    CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(defaultOptions) 

वे न्यूनतम किया गया हो, लेकिन इस दोनों test1.min.js कारण और एक ही कोड के रूप में न्यूनतम किया साझा करने के लिए फ़ाइलों test2.min.js होगा ... यह कुछ अतिरिक्त कारण होगा जावास्क्रिप्ट कीड़े जब फ़ाइलों का उपयोग समान पृष्ठों के भीतर किया जाता है और अधिक डिस्क स्थान लेता है।

हालांकि, अगर CompilerOptions सेट नहीं है, तो जावास्क्रिप्ट डुप्लीकेट के बिना ठीक से संकलित करता है लेकिन संकलन स्तर बहुत सख्त है और हमारी जावास्क्रिप्ट काम करना बंद कर देती है क्योंकि यह उन फ़ाइलों में लिखी गई कुछ चीजों के बारे में त्रुटियों को कहती है। कुल मिलाकर, सभी प्रोजेक्ट जेएस फ़ाइलों को डिफ़ॉल्ट कंपाइलर विकल्पों के साथ जाने के लिए बहुत देर हो चुकी है, इसलिए केवल विकल्प ही इसे एक ऐसे तरीके से काम करने के लिए कॉन्फ़िगर करना है जो प्रकाश न्यूनीकरण का उपयोग करता है लेकिन जेएस डुप्लिकेशन के बिना .. इस मुद्दे पर कोई मदद नहीं होगी अत्यधिक सराहना कीजिए!

मैं जावा प्रोजेक्ट के साथ प्ले फ्रेमवर्क 2.1.1 का उपयोग कर रहा हूं।

+1

क्या आपको कभी इसका जवाब मिला? – shuttj

+1

अधिक खुदाई के बाद, मुझे यह मुद्दा 2.2.1 के लिए मिला: https://github.com/playframework/playframework/issues/2192 – shuttj

+1

हाँ, मेरे पास हाल ही में काम करने का समय नहीं है, हालांकि हम साथ आए इस मुद्दे को हल करने के लिए कुछ गंभीरता से बड़े हैक, अगर 2.2.1 ने तय किया है तो इसे हल करने के बजाय इसे समाधान के रूप में स्वीकार करने और स्वीकार करने के लायक होंगे। –

उत्तर

1

करने के लिए Play फ्रेमवर्क ऐसा लगता है कि इस विषय में कुछ हितों उत्पन्न किया है, मैं बाहर बिंदु है कि मैं play version 2.2.2 को अपग्रेड करने के बाद इस समस्या को पुन: पेश नहीं कर सका wan't अपग्रेड करें। तो मैं इसे एक समाधान के रूप में स्वीकार कर रहा हूं क्योंकि इसे ठीक करने के लिए यह कम हैकी तरीका लगता है।

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