मैं एम्बरजे का बहुत आनंद ले रहा हूं और अपने निर्माण प्रक्रिया के हिस्से के रूप में अपने कुछ छोटे, मोबाइल ऐप्स में अगली कदम लेना चाहता हूं और अपने एम्बर/हैंडलबार्स टेम्पलेट्स को प्रीकंपाइल करना चाहता हूं।नोडजेस के साथ एम्बरजे हैंडलबार टेम्पलेट्स को प्रीकंपाइल करने का आसान तरीका?
मैं रूबी के साथ गड़बड़ से दूर रहना पसंद करूंगा और node.js का उपयोग करना चाहता हूं क्योंकि मैं इसका उपयोग करने में अधिक सहज हूं।
मुझे विश्वास है कि मैं जो उपयोग करना चाहता हूं वह एम्बर है। हैंडलबर्स.प्रोम्पाइल, लेकिन दुर्भाग्य से मैं नोड वातावरण में कैननिकल ember.js फ़ाइल लोड करने में असमर्थ हूं। नोड repl से एक अनुभवहीन प्रयास का उदाहरण:
> var e = require('./ember');
ReferenceError: window is not defined
at /Users/jeremyosborne/git/projects/ldls/client/lib/emberjs/src/ember.js:5:1
at Object.<anonymous> (/Users/jeremyosborne/git/projects/ldls/client/lib/emberjs/src/ember.js:1596:2)
--- stack trace, you get the idea ---
मुझे लगता है कि मैं पहले से ही समझ गए होंगे उन्हें अपने कोड में सेटअप करने का तरीका इतना है कि वे मेरे विचारों के साथ सही ढंग से काम करते हैं, मैं सिर्फ उन्हें एक में संकलित करने के लिए चाहते हैं एक ब्राउज़र डोम के बाहर पर्यावरण।
नोड में लोड करने के लिए कैनोलिक ember.js प्राप्त करने के बदले, क्या फाइलों का एक विशिष्ट सेट है जिसे मैं एम्बर रेपो से निकाल सकता हूं और अपने टेम्पलेट को संकलित करने के लिए उपयोग कर सकता हूं?
संपादित करें मैंने एक ब्लूज फिक्स किया जो महान काम करता है लेकिन रखरखाव के लिए एफ प्राप्त करता है। मैंने सभी Handlebars
कोड को window
ऑब्जेक्ट के संदर्भ में घटा दिया। इसके बाद मैंने Ember.Handlebars.Compiler
कोड के साथ Ember.create
को Object.create
के साथ बदलकर ऑब्जेक्ट का निर्यात किया, और व्हायोला चीजें नोड में प्रतीत होती है (जैसा कि इसमें काम करता है और उत्पादित फ़ंक्शंस टेम्पलेट्स होते हैं)। लेकिन मैं उपर्युक्त रखरखाव के कारण अपने स्वयं के प्रश्न का उत्तर नहीं मानता, इसलिए अभी भी उत्तर के लिए खुला है।
EDIT 2 उपरोक्त कुल विफल होने के लिए बाहर निकलता है। शायद प्रक्रिया में कुछ गड़बड़ है, लेकिन Ember.Handlebars.precompile
या Ember.Handlebars.compile
का उपयोग नहीं कर रहा है। टेम्पलेट्स बनते हैं, लेकिन जब मैं अपने कोड में Ember.TEMPLATES से जुड़े precompiled टेम्पलेट का उपयोग करता हूं, तो वे काम नहीं करते हैं। मैं केवल emberjs.com साइट पर सुझाए गए संशोधित स्क्रिप्ट टैग में स्पष्ट रूप से पारित होने पर टेम्पलेट्स को काम करने में सक्षम होने लगता हूं।
संपादित करें 3 मुझे पता चला कि मैं क्या गलत कर रहा था। मेरा जवाब नीचे है।
मैं वास्तव में कैसे एंबर-धावक काम करने के लिए लग रहा है और शायद यह की दिशा में खिंचने की तरह। हालांकि, अभी के लिए, मेरे पास अपनी खुद की कठोर निर्माण प्रक्रिया है और मैं सरल (ए) एम्बर टेम्पलेट्स ले रहा हूं, (बी) नोडजेज़ का उपयोग करके एम्बर टेम्पलेट संकलित करें। ऐसा लगता है कि यह वास्तव में आसान होना चाहिए, लेकिन मैं सबकुछ हाथ से नहीं बनाना चाहता, न ही मैं अपनी बिल्ड प्रक्रिया को बदलना चाहता हूं। इसके अलावा, मुझे jsdom पसंद है, लेकिन मुझे इसका उपयोग करके लंगड़ा लगता है, इसलिए मैं jquery लोड कर सकता हूं, और फिर एम्बर लोड कर सकता हूं, और उसके बाद एक डोम रखने का नाटक कर सकता हूं, इसलिए मैं शुद्ध जावास्क्रिप्ट प्रोसेसिंग कर सकता हूं। ओह। – jeremyosborne
एम्बर-रनर एम्बर टेम्पलेट्स संकलित करता है। मैं इसके स्रोत से परिचित नहीं हूं इसलिए मैं आपको कोड की विशिष्ट पंक्तियों पर इंगित करने में असमर्थ हूं। मैं सहमत हूं कि इसे लागू करने में बहुत मुश्किल नहीं होनी चाहिए। –