2016-08-26 6 views
6

मैं कुछ जावास्क्रिप्ट फाइलें लिख रहा हूं जिनका उपयोग HTML दस्तावेज़ों के साथ नहीं किया जाएगा। उदाहरण के लिए, जेएस में एक कैलकुलेटर लिखना जहां मेरे पास अलग-अलग होंगे। जेएस फाइलें अतिरिक्त, घटाव, गुणा, विभाजन, आदि के लिए कहती हैं ..किसी अन्य जेएस फ़ाइल में जावास्क्रिप्ट फ़ाइल का उपयोग

मैं प्रत्येक गणित ऑपरेशन को स्वयं निहित करना चाहता हूं। जेएस फ़ाइल में तब एक और .js फ़ाइल है जो # अन्य छोटी फ़ाइलों को शामिल करेगी और उनसे फ़ंक्शंस कॉल कर सकती है?

क्या यह संभव है?

गणित उदाहरण मेरा अर्थ व्यक्त करने का प्रयास करने का एक आसान तरीका है, वास्तविक कार्यक्रम थोड़ा और जटिल है कि कोड को विभाजित करने का मुख्य उद्देश्य यह है कि मेरे लिए तर्क करना आसान है कोड के छोटे विशेष टुकड़े।

मेरे पास काम करने के लिए कोई दस्तावेज़ या डोम नहीं है, केवल सादे .js फ़ाइलों को एल्गोरिदम के अंदर।

+1

आप 'साथ webpack उपयोग कर सकते हैं की आवश्यकता होती है ('otherfile.js');' – jcubic

+0

यह वास्तव में js की तरह लगता है के लिए उपयुक्त नहीं है मेरी वर्तमान परियोजना। मुझे जावास्क्रिप्ट छोड़ना पड़ा और दूसरी प्रोग्रामिंग भाषा में जाना पड़ा। हालांकि, उस मूल प्रश्न के बाद से हस्तक्षेप करने वाले समय पर थोड़ा सा आधुनिकीकरण हुआ होगा। जो एक मोनोलिथिक फ़ाइल चाहता है, खासकर जेएस एसिंक कोड निष्पादन, नाम टकराव, आदि के साथ ... यकीन है कि मैं कार्यों को लपेट सकता हूं और उन्हें एनोन बना सकता हूं लेकिन वाह ..... – user1610950

+0

हां, –

उत्तर

2

का उपयोग जावास्क्रिप्ट:

var script = document.createElement('script'); 
script.src = '/js/script'; 
document.head.appendChild(script); 

jQuery का उपयोग करना:

//you need to change your path 
$.getScript('/js/script.js', function() 
{ 
    // script is imported 

}); 
+3

की आवश्यकता है [मैं चोरी चोरी कहता हूं!] (https://stackoverflow.com/a/4634669/2288578) – Clonkex

1

यहाँ एक तुल्यकालिक संस्करण है:

function myRequire(url) { 
    var ajax = new XMLHttpRequest(); 
    ajax.open('GET', url, false); // <-- the 'false' makes it synchronous 
    ajax.onreadystatechange = function() { 
     var script = ajax.response || ajax.responseText; 
     if (ajax.readyState === 4) { 
      switch(ajax.status) { 
       case 200: 
        eval.apply(window, [script]); 
        console.log("script loaded: ", url); 
        break; 
       default: 
        console.log("ERROR: script not loaded: ", url); 
      } 
     } 
    }; 
    ajax.send(null); 
} 

ध्यान दें कि यह काम कर रहा क्रॉस-डोमेन पाने के लिए, सर्वर अपने जवाब में अनुमति देने के मूल के शीर्ष लेख सेट करने के लिए की आवश्यकता होगी।

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