2012-02-07 16 views
5

से सभी कक्षाएं बनाना मैं अपनी मिनी फाइल को उत्पन्न करने के लिए सेन्चा एसडीके का उपयोग करने की कोशिश कर रहा हूं।सेन्चा एसडीके

मैं अपने पृष्ठ

http://www.mysite.localhost/ext/jobs/index.html

सिर्फ index.html से पढ़ने पर स्थापित किया है आसानी से संभव नहीं है। जब मैं

sencha create jsb -a http://www.mysite.localhost/ext/jobs/index.html -p app.jsb3 

मुझे निम्न जेएसबी फ़ाइल मिलती है।

{ 
    "projectName": "Project Name", 
    "licenseText": "Copyright(c) 2011 Company Name", 
    "builds": [ 
     { 
      "name": "All Classes", 
      "target": "all-classes.js", 
      "options": { 
       "debug": true 
      }, 
      "files": [] 
     }, 
     { 
      "name": "Application - Production", 
      "target": "app-all.js", 
      "compress": true, 
      "files": [ 
       { 
        "path": "", 
        "name": "all-classes.js" 
       }, 
       { 
        "path": "", 
        "name": "app.js" 
       } 
      ] 
     } 
    ], 
    "resources": [] 
} 

यानी इसमें मेरी सभी कक्षाएं शामिल नहीं हैं। अगर मैं अद्यतन

"पथ": "एप्लिकेशन /", "नाम": "app.js"

एप्लिकेशन-all.js सही ढंग से बनाया जाता है। लेकिन मैं नियंत्रक और विचार कैसे प्राप्त कर सकता हूं। बहुत सारी फाइलें हैं। क्या किसी के पास कोई उदाहरण एमवीसी एप्लीकेशन जेएसबी है। मेरा ऐप पैंडोरा पर आधारित है।

एप्लिकेशन/app.js

Ext.Loader.setConfig({ enabled: true }); 
    Ext.application({ 

     name: 'Pandora', 
     models: ['Part', 'Material', 'Job', 'Process', 'Invoice', 'InvoiceDetail', 'PurchaseOrder'], 
     stores: ['SalesContact', 'Parts', 'Materials', 'Jobs', 'AccountHandlers', 'JobTypes', 'Processs', 'Artwork', 'Varnish', 'VarnishType', 'PrintType', 'ProofRequired', 'InvoiceDetails', 'PurchaseOrders'], 
    controllers: ['Part', 'Material', 'Job', 'Process', 'Invoice'], 
     launch: function() { 

      Ext.QuickTips.init(); 
      var cmp1 = Ext.create('App.view.Jobs', { 
       renderTo: "form-job" 
      }); 
      cmp1.show(); 
     } 

    }); 

index.html

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <script type="text/javascript" src="ext-all-debug.js"></script> 
    <script type="text/javascript" src="app/app.js"></script> 
</head> 
<body> 
    <div id="form-job"></div> 
</body> 
</html> 
+0

मुझे इस समय एक ही समस्या है। मैं अपने ux, नियंत्रक, और विचारों को याद कर रहा हूँ। यह मेरे स्टोर और मॉडल खोजने के लिए प्रबंधन करता है। बस। मैं देख रहा हूं कि ** की आवश्यकता है: ** व्यूपोर्ट के संबंध में संपत्ति खेलती है। आप इसे दृश्यों की एक सरणी पास करते हैं, और कोई इसके साथ नियंत्रकों का अनुमान लगाएगा। – subv3rsion

उत्तर

3

अद्यतन

हम Ext.Loader में सब कुछ शामिल है की आवश्यकता के बिना इस काम कर मिल गया()app.js में। सुनिश्चित करें कि आप Ext.Loader() अपने व्यूपोर्ट कक्षा के साथ एक सरणी पास करते हैं। अभी भी सुनिश्चित करें कि आप सही उपयोग करते हैं: और आवश्यक है:। इस तरह आप jsb3 फ़ाइल के लिए अंतिम आउटपुट सब कुछ शामिल है।

मैं इसे अपने अंत में हल करने में कामयाब रहा। मुझे Ext.Loader() का उपयोग app.js फ़ाइल में करने की आवश्यकता है। सामान्य विचार यह है कि आपको लोडर को बताने की आवश्यकता है जहां आपकी स्रोत फाइलें हैं। यह सुनिश्चित करना कि आपकी कक्षा फ़ाइल को निर्माण में शामिल किया गया हो। ऐप/app.js के लिए उपरोक्त कोड के आधार पर।

Ext.Loader.setConfig({ enabled: true }); 

// SDK builder required source files, use the class names. 
Ext.Loader.require(['Pandora.view.Viewport']); 

Ext.application({ 

    name: 'Pandora', 
    models: ['Part', 'Material', 'Job', 'Process', 'Invoice', 'InvoiceDetail', 'PurchaseOrder'], 
    stores: ['SalesContact', 'Parts', 'Materials', 'Jobs', 'AccountHandlers', 'JobTypes', 'Processs', 'Artwork', 'Varnish', 'VarnishType', 'PrintType', 'ProofRequired', 'InvoiceDetails', 'PurchaseOrders'], 
    controllers: ['Part', 'Material', 'Job', 'Process', 'Invoice'], 
    launch: function() { 

     Ext.QuickTips.init(); 
     var cmp1 = Ext.create('App.view.Jobs', { 
      renderTo: "form-job" 
     }); 
     cmp1.show(); 
    } 

}); 

मैंने पाया कि आपके विचार और नियंत्रक कक्षाओं में यकीन है कि अगर आप (एक combobox) की तरह आपके विचार से बंधा भंडार है कि आप initComponent में देखने के लिए ही आइटम जोड़ रहे हैं बनाने के लिए और आप का उपयोग की आवश्यकता है: कक्षा के लिए 'MyApp.store.Users'। या आपको अजीब त्रुटियां मिलेंगी क्योंकि दृश्य स्टोर से पहले शुरू होगा।

Ext.Loader.require()Ext.Application से पहले रखा जाना चाहिए। एक बार जब आप मॉडल और नियंत्रकों के साथ यह सब सेटअप कर लेंगे, तो आप भी अपने विचार जोड़ना चाहेंगे।

अब आप अपनी जेएसबी 3 फाइल बनाने के लिए एक अच्छी जगह पर होना चाहिए, और देखें कि आपके मॉडल, विचार और नियंत्रक अब निर्माण के लिए प्रक्रिया का हिस्सा हैं।

+0

कुछ अन्य सहायक संकेत [एसडीके उपकरण का उपयोग] (http://www.sencha.com/forum/showthread.php?142768-Using-the-SDK-tools) – subv3rsion

+0

अच्छा, इसके लिए धन्यवाद। मैं कल इस पर एक और सत्र करने जा रहा हूं। मैं अपने निष्कर्ष पोस्ट करूंगा। – frosty

+0

मदद करने के लिए हमेशा खुश रहें। अगर उत्तर मदद करता है तो उत्तर को उपयोगी के रूप में बंप करना न भूलें। हमें एक और सत्र होना चाहिए जो खुद को सेन्चा एसडीके और इस विषय पर केंद्रित है। – subv3rsion

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