2016-08-26 20 views
6

html belgeleriyle kullanılmayacak bazı javascript dosyaları yazıyorum. Örneğin, js içinde bir hesap makinesi yazacağım, farklı .js dosyaları, toplama, çıkarma, çarpma, bölme, vb. Için bir tane söyler ..Başka js dosyasında javascript dosyası kullanma

Her bir matematik işleminin kendi içinde yer almasını istiyorum. Dosya daha sonra diğer küçük dosyaları #include olacak başka bir .js dosyası var ve bunlardan fonksiyonları çağırabilir?

Bu mümkün mü?

Matematik örneği, ne demek istediğimi ifade etmenin basit bir yoludur, gerçek program biraz daha karmaşıktır ve kodun bölünmesinin temel amacı bunun nedeni ile benim için daha kolay olmasıdır. küçük özel kod parçaları.

İçinde herhangi bir belge veya dom yok, sadece düz .js dosyaları içinde algoritmalar var.

+1

Sen 'ile webpack kullanabilirsiniz ('otherfile.js') gerektirir; gerçekten js gibi görünüyor' – jcubic

+0

için uygun değildir benim mevcut proje Javascript düşürmek ve başka bir programlama diline geçmek zorunda kaldım. Bu orijinal sorudan beri aradan geçen süre boyunca js biraz modernleşecekti. Kim monolitik bir dosya istiyor, özellikle de js async code execution, isim çarpışmaları, vs .. eminim fonksiyonlarını tamamlayabilirim ve onları anon yapabilirim ama vay ..... – user1610950

+0

evet, kullanımı gerektirir –

cevap

2

kullanma javascript:

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

jQuery kullanarak:

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

}); 
+3

[Ben intihal çağırın!] (https://stackoverflow.com/a/4634669/2288578) – Clonkex

1

Burada senkron sürümü: Bu çalışma alanlar arası almak için

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); 
} 

Not sunucusu yanıt olarak izin kökenli başlığı ayarlamak gerekir.

İlgili konular