के रूप में विज्ञापित, rjs
प्ले मेंप्ले फ्रेमवर्क में RequJS ऑप्टिमाइज़र का उपयोग कैसे करें?
सुनिश्चित किसी भी JavaScript संसाधनों को एक WebJar भीतर से संदर्भित स्वचालित रूप से jsdelivr CDN द्वारा दर्शाया जाता है कि कर सकते हैं। इसके अलावा यदि .min.js फ़ाइल तब मिलती है जो .js के स्थान पर उपयोग की जाएगी। यहां जोड़ा गया बोनस यह है कि आपके एचटीएमएल में कोई बदलाव नहीं है!
हालांकि, मुझे ऐसा करने के लिए कोई भी प्रतीत नहीं होता है।
- मैंने अपने प्ले ऐप को उत्पादन मोड में चलाने का प्रयास किया, और मेरे सभी वेबजर जावास्क्रिप्ट को अभी भी स्थानीय के रूप में संदर्भित किया जा रहा है।
- मुझे उत्पादन में उपयोग की जाने वाली जावास्क्रिप्ट फ़ाइलों का
.min
संस्करण नहीं दिखाई देता है। मुझे उत्पादन मोड में काम करने के लिए निर्भरता इंजेक्शन नहीं मिल सकता है। उदाहरण के लिए, जब मैं इस
की तरह मेरे कोड में
jquery
इंजेक्षन करना चाहते हैं परिभाषित ([ 'jQuery'], समारोह ($) { 'का उपयोग सख्त';। console.log ($ ग्रेप); वापसी { योग: फ़ंक्शन (ए, बी) { एक + बी; } }; });
मैं इस देव मोड में ठीक काम करने के लिए मिल सकता है, लेकिन उत्पादन मोड में, rjs
[info] Error: ENOENT, no such file or directory '/Users/khanguyen/Desktop/rjsdemo/target/web/rjs/build/js/jquery.js'
[info] In module tree:
[info] main
[info] app
[info]
[info] Error: Error: ENOENT, no such file or directory '/Users/khanguyen/Desktop/rjsdemo/target/web/rjs/build/js/jquery.js'
[info] In module tree:
[info] main
[info] app
[info]
[info] at Error (native)
जाहिर है यह jQuery के लिए गलत स्थान में दिख रही है कह विफल रहा, config उत्पन्न सेटअप के बावजूद वेबजर
requirejs.config({"paths":{"jquery":["/webjars/jquery/1.11.1/jquery","jquery"]},"shim":{"jquery":{"exports":"$"}},"packages":[]}) }
jquery
के लिए सही स्थान होने के लिए।
मैं अपने build.sbt में pipelineStages := Seq(rjs, digest)
सेटअप के साथ Play 2.4.0 का उपयोग कर रहा हूं।
कृपया मुझे बताएं कि मुझे यह गलत कहां मिला।
धन्यवाद!
मुझे एक ही समस्या है, मुझे आश्चर्य है कि यह एक कॉन्फ़िगरेशन समस्या है और इस प्रकार यहां एक समस्या खोली गई है https://github.com/webjars/sample-play2/issues/7 –
यहां मैंने जो देखा है , चीजों के काम क्यों करते हैं या काम नहीं करते हैं, इसके बारे में स्पष्ट स्पष्टीकरण के बिना। आपको क्लासिक वेबजर्स का उपयोग करना होगा। जब आप main.js में अपना 'पथ' घोषित करते हैं, तो यूआरएल को [वर्ग ब्रैकेट] में लपेटें। मैंने वेबजर मॉड्यूल को कुचलने का फैसला किया क्योंकि मैं एक ही फाइल के 2 संस्करण नहीं चाहता हूं। मुझे बताएं कि यह कैसे जाता है। एक बार जब मैं यह समझूं कि इसे एक साथ कैसे रखा जाए, तो मैं निर्देश के साथ पोस्ट लिखूंगा। – Khanetor
आपने वेबजर मॉड्यूल को हटा दिया? तो आप अब उनका उपयोग नहीं कर रहे हैं? यह दुर्भाग्यपूर्ण होगा। मुझे अभी भी आश्चर्य है कि क्या हम बस कुछ कॉन्फ़िगरेशन खो रहे हैं या शायद एक असंगतता है (sbt-rjs को थोड़ी देर में अपडेट नहीं किया गया है)। –