2013-08-20 21 views
6

Tarayıcıda Q kütüphanesini (http://documentup.com/kriskowal/q/) kullanmam gerekiyor. Bu kütüphaneyi yüklemek için RequireJS'u kullanmak istiyorum ancak bunun nasıl yapılacağı hakkında hiçbir fikrim yok. Kendi modülümü nasıl yükleyeceğimi biliyorum, ancak Q ile yapamam.Tarayıcıda Q kütüphanesini kullanma

(function (definition) { 
    //some another code here*** 
    // RequireJS 
} else if (typeof define === "function" && define.amd) { 
    define(definition); 

nasıl Q yüklemek ve daha sonra başka bir modülde kullanabilirsiniz: Bazı işlevi vardır?

cevap

3

Siz sadece HTML bir komut dosyası deyimi kullanarak Q kütüphane yükleyebilirsiniz Sonra

<script src="https://cdnjs.cloudflare.com/ajax/libs/q.js/1.1.0/q.js"></script> 

bunu gibi Q değişkeni üzerinden erişebilirsiniz:

function square(x) { 
    return x * x; 
} 
function plus1(x) { 
    return x + 1; 
} 

Q.fcall(function() {return 4;}) 
.then(plus1) 
.then(square) 
.then(function(z) { 
    alert("square of (value+1) = " + z); 
}); 

bu http://jsfiddle.net/Uesyd/1/

çalışan Bkz
+6

Bu işe yarıyorsa, bunun kötü bir fikir olduğunu düşünüyorum çünkü bu, uzun vadede sorunlara neden olabilecek modüler (yani AMD/RequireJS) ve "geleneksel" (yani global değişkenler) kodunu karıştırmanız anlamına gelir. – kryger

+0

https://rawgithub.com/kriskowal/q/master/q.js - bulunamadı –

14

Bunu yapmanın uygun AMD yolu (@Eamonn O'Brien-Strain'den örnek kod alınmıştır):

requirejs.config({ 
    paths: { 
    Q: 'lib/q' 
    } 
}); 

function square(x) { 
    return x * x; 
} 

function plus1(x) { 
    return x + 1; 
} 

require(["Q"], function (q) { 
    q.fcall(function() { 
    return 4; 
    }) 
    .then(plus1) 
    .then(square) 
    .then(function (z) { 
     alert("square of (value+1) = " + z); 
    }); 
}); 

Bu şekilde, Q genel kapsamı sızdırmaz ve bu kitaplığa bağlı olarak tüm modülleri bulmak kolaydır.

+1

Muhtemelen, aynı zamanda AMD modülü değil: : shim: { 'Q' : { dışa aktarma: 'Q' } } ' – marcos82