यहाँ कुछ अन्य विकल्प है कि मैं समय पहले यह एक करने के लिए को देखा जा सकता है। मैं उन्हें पहचानने के लिए एक नामकरण सम्मेलन (* .ko.html) का उपयोग करता हूं। मेरे निर्माण श्रृंखला इस प्रकार है:
चरण 1: एक प्रकार का वृक्ष और कम करें * .ko.html फ़ाइलों यह सिर्फ टिप्पणियां (<!-- ko -->
लोगों को छोड़कर) को दूर करने के लिए और एक अधिक कॉम्पैक्ट पेलोड के लिए अतिरिक्त व्हाइट पट्टी है।
चरण 2: एक जेएस फ़ाइल में स्ट्रिंगिफ़ाई और संक्षिप्त मिनीटाइम एचटीएमएल। js तरह
var templates={
'name1':'some stringified html',
'name2':'some more'
};
मैं <script type="text/plain">
सीमांकक के साथ एक HTML फ़ाइल में श्रृंखलाबद्ध पर विचार लेकिन क्योंकि इस तरह से यह लोड किया जा सकता एक सरल <script>
बजाय टैग एक ajax प्राप्त + इंजेक्षन का उपयोग कर js चुना था कुछ लग रहा है।
चरण 3: मेरे जेएस ऑब्जेक्ट से टेम्पलेट्स को पुनर्प्राप्त करने के लिए मूल टेम्पलेट इंजन को ठीक करें।
var engine = new ko.nativeTemplateEngine();
engine._makeTemplateSource = engine.makeTemplateSource;
engine.makeTemplateSource = function (template, doc) {
if (typeof (template) === 'string' && templates[template]) {
return { text: function() { return templates[template]; } };
}
return engine._makeTemplateSource(template, doc);
};
ko.setTemplateEngine(engine);
मेरे कार्यान्वयन gruntjs का उपयोग करता है इन चरणों का निर्माण करने के लिए।(घुरघुराना-योगदान-htmlmin, घुरघुराना-योगदान-concat) htmlmin के लिए
विकल्प: सोच क्यों किसी को भी ऐसा करना चाहते हैं हैं concat
{
stripBanners: true,
banner: "(function(t){",
footer: "})(window.templates || (window.templates={}));",
process: function (src, file) {
return 't[\'' + file.replace(/^.*\//, '').replace('.ko.html', '') + '\']=' + JSON.stringify(src) + ';';
}
}
के लिए
{
removeComments: true,
collapseWhitespace: true,
ignoreCustomComments: [/^\s*ko /, /^\s*\/ko /]
}
विकल्प किसी के लिए: टेम्पलेट स्रोत फ़ाइलें मानक व्यक्तिगत एचटीएमएल फाइलें हैं जिन्हें किसी भी एचटीएमएल संपादक और स्रोत में संपादित किया जा सकता है। <script>
टैग के अंदर HTML संपादित करना कोई मजेदार नहीं है। बोनस के रूप में, स्रोत फ़ाइलों में टिप्पणियां शामिल हो सकती हैं जिन्हें हटा दिया जाएगा। टेम्पलेट्स स्क्रिप्ट टैग सहित किसी भी पृष्ठ पर पुन: उपयोग करने योग्य हैं: उन्हें प्रत्येक पृष्ठ में रेखांकित करने की आवश्यकता नहीं है। परिणामी बंडल एक स्थिर फ़ाइल है जो ब्राउज़र आसानी से कैश कर सकते हैं, जबकि एक गतिशील रूप से जेनरेट किए गए पृष्ठ में एम्बेडेड टेम्पलेट्स नहीं कर सकते हैं। जावास्क्रिप्ट फ़ाइलों को बंडल करने के लिए बहुत अधिक कारण हैं।
अरे क्या आपके पास नमूना के साथ ऑनलाइन भंडार है जिथब पर? – hehe