2012-04-26 15 views
14

में बाहरी जावास्क्रिप्ट को लोड करने का उचित तरीका क्या है मेरे विकास में मुझे तीसरे भाग जावास्क्रिप्ट को शामिल करने की आवश्यकता है; money.js की तरह (http://josscrowcroft.github.com/money.js/)सेन्चा टच 2

इसे प्राप्त करने के लिए सबसे अच्छा 'साफ'/'उचित' तरीका क्या है? इसे index.html में शामिल करें?

उत्तर

16

नहीं। index.html फ़ाइल में अतिरिक्त जावास्क्रिप्ट फ़ाइलों को सीधे न जोड़ें। यह अनुशंसित नहीं है रास्ता (हालांकि यह काम कर सकता है)।

इसके बजाय, इस तरह करते हैं,

  • अपने index.html में निम्न पंक्ति को शामिल करें। microloader वह फ़ोल्डर है जो सेन्चा एसडीके के साथ भेज दिया जाता है और इसमें मुख्य रूप से development.js, production.js और testing.js, प्रत्येक के अपने उद्देश्य के लिए तीन फ़ाइलें शामिल हैं।

< स्क्रिप्ट आईडी = "microloader" type = "text/javascript" src = "../../ microloader/development.js"> </script>

  • फिर, आपके <appname> फ़ोल्डर में, आपको app.json नामक फ़ाइल की आवश्यकता होगी। यह आप Sencha Cmd आपका index.html उपयोग कर रहे हैं कुछ ऐसा दिखाई देगा कुछ इस तरह दिखाई होगा ..
{ 
    "name": "Sencha", 

    // All javascript files go here ... 
    "js": [ 
     { 
      "path": "../../sencha-touch-all-debug.js" 
     }, 
     { 
      "path": "app.js", 
      "update": "delta" 
     }, 
     { 
      "path": "http://josscrowcroft.github.com/money.js/", 
      "update": "delta" 
     } 
    ], 
    "css": [ 
     { 
      "path": "../../resources/css/sencha-touch.css", 
      "update": "delta" 
     }, 
     { 
      "path": "resources/css/app.css", 
      "update": "delta" 
     } 
    ], 

    ..... 
    ..... 
    ..... 
} 
+1

elegent समाधान अगर यह काम करने के लिए था ... मैं में दोनों की कोशिश की है परीक्षण/उत्पादन बनाता है; यह लोड नहीं होता है :( – Disco

+0

यह सीधे लिख 'index.html' में की कोशिश करो।उपरोक्त समाधान कुछ स्थानीय अतिरिक्त जेएस फ़ाइलों का उपयोग करने के लिए आता है, जब मेरे लिए पूरी तरह से काम करता है। –

+0

कभी नहीं; यह काम किया :) – Disco

3

:

<!-- The line below must be kept intact for Sencha Command to build your application --> 
<script id="microloader" type="text/javascript" src=".sencha/app/microloader/development.js"></script> 

तो तुम app.json बदलने के बाद आपको अपने ऐप को रीफ्रेश करने की आवश्यकता होगी:

sencha app refresh 
+0

@ 99tm द्वारा प्रदान किया गया समाधान सही है , लेकिन सेन्चा सीएमडी का उपयोग करते समय यह एक आवश्यक कदम है। – Michael

+0

+1 मैं जिस ट्यूटोरियल का उपयोग कर रहा हूं उसका उल्लेख करने के लिए पूरी तरह से भूल गया है। धन्यवाद। – Nick

0

निम्न जेएस के साथ मेरे लिए काम किया 5.0.0, यदि बाहरी जावास्क्रिप्ट लाइब्रेरी स्थानीय है। संपादन के बाद, "Sencha एप्लिकेशन का निर्माण" चलाने

app.json में तीन JSON elememtns में परिवर्तन करें। (1) जे एस (2) सीएसएस (3) संसाधन

{ 
    "name": "Sencha", 

    // All javascript files go here ... 
"js": [ 
    { 
     "path": "app.js", 
     "bundle": true 
    }, 
    { 
     "path": "leaflet/leaflet.js", 
     "bundle": true 
    } 
], 
"css": [ 
    { 
     "path": "bootstrap.css", 
     "bootstrap": true 
    }, 
    { 
     "path": "leaflet/leaflet.css", 
     "bootstrap": true 
    } 
], 

    ..... 
/** 
* Extra resources to be copied along when build 
*/ 
"resources": [""leaflet/leaflet.js","leaflet/leaflet.css" 

], ..... ..... }

0

शुद्ध जावास्क्रिप्ट किया मेरे लिए चाल मैं तो बस लांच समारोह में कोड के इस ब्लॉक को शामिल

var scriptTag = document.createElement('script'); scriptTag.src = 'specify the path here...'; document.body.appendChild(scriptTag);

scriptTag आपकी अनुक्रमणिका फ़ाइल के शरीर में संलग्न हो जाता है

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