RequireJS hep uyumsuz modüllerini yükleyen ama senkron görünüyor require
bir şekilde izin. İkinci snippet'iniz gerçekten bazı önemli kodları kaçırıyor. (Ayrıca, jQuery için modül adı jquery
kodlanmıştır. jQuery
olarak başvuruda bulunmanıza izin veren bir yapılandırma yazabilirsiniz, ancak hiçbir anlamı yoktur.) require
çağrıları bu biçimi, modüllerin içinde kullanılmak üzere tasarlanmıştır:
define(['jquery'], function (require) {
var $ = require("jquery");
$.doSomething();
});
Not Ekle define
ilk argüman olarak bağımlılık eklenmesini: RequireJS yukarıdaki kod ile neyi
define(function (require) {
var $ = require("jquery");
$.doSomething();
});
çalıştırmadan önce bu dönüşmesi olduğunu. RequireJS kodu çalıştırdığında, bağımlılığı bulur, jquery
yükler ve sonra anonim işlevi çağırır. require("jquery")
zamanla karşı karşıya, modül zaten yüklü. Günün sonunda numaralı çağrı'u eşzamanlı olarak görüntülerken, gereksinim duyduğu modülün yüklenmesi yine de eşzamansız olarak gerçekleşir.
Bu require
zaman uyumlu formunu define
numaralı aramanın dışında kullanabilir misiniz? Sadece başarısızlıklardan şikayetçiysen. kendisine geçirilen modül zaten yüklü değilse Bu require
çağrı başarısız olacaktır. Sen rezil hatayı alıyorum: Yukarıda gösterilen ettik gibi bir define
içinde
Module name ... has not been loaded yet for context: ...
bunu kullanma güvenlidir.
require(['jquery'], function (require) {
var $ = require("jquery");
$.doSomething();
});
olur işi ancak elle bağımlılık tekrarlayarak ne anlamı var: Ya sen yapabileceğini tahmin. (Eğer RequireJS Ben yukarıda gösterdiğim gibi define
çağrıyı dönüştüren aynı şekilde burada örnekte var gibi bir geri arama ile bir require
çağrıyı dönüştürmek değildir, merak ediyorum.)
teşekkür ederim. Şimdi tüm açık, kod ben gördüğüm gibi ikinci şekilde biraz daha güzel ve temiz görünüyor. :) – Er85