SORU
6 HAZİRAN 2012, ÇARŞAMBA


Nasıl requirejs ile jQuery eklentisi yüklenebilir yapmak için

Requirejs jquery ile çalışıyorum ve eğer bir jQuery eklentisi iyi iş yapmak için akıllı bir yolu varsa merak ettim gerektirir.

Örneğin bir WordPress kullanmak-cookie kullanıyorum. Eğer doğru anladıysam bir dosya jquery-cookie.js oluşturun ve içine

define(["jquery"], // Require jquery
       function($){
// Put here the plugin code. 
// No need to return anything as we are augmenting the jQuery object
});
requirejs.config( {
    "shim": {
        "jquery-cookie"  : ["jquery"]
    }
} );

eğer bu durumda olan bir WordPress kullanmak mı, gibi şeyler yapabilir miyim diye

if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
    define( "jquery", [], function () { return jQuery; } );
}

ya eğer bu jQuery eklentileri requirejs veya herhangi bir amd ile uyumlu hale getirmek için tek yoldur

CEVAP
9 AĞUSTOS 2012, PERŞEMBE


RequireJS dolgu yapılandırma kullanarak bazı uyarılar, http://requirejs.org/docs/api.html#config-shim üzerinde işaret vardır. Yani, karıştırmayın EĞER bir yapı shim config ile yükleme"," iyileştirici kullanıyorsun.

Bir şekilde ve RequireJS olan ve olmayan sitelerde aynı jQuery eklentisi kodunu kullanmak için arıyordum. https://github.com/umdjs/umd/blob/master/jqueryPlugin.js jQuery eklentileri için bu kod parçası buldum. Bu kod eklentisi sarın, ya da düzgün şekilde çalışacaktır.

(function (factory) {
if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module depending on jQuery.
    define(['jquery'], factory);
} else {
    // No AMD. Register plugin with global jQuery object.
    factory(jQuery);
}
}(function ($) {

    $.fn.yourjQueryPlugin = function () {
        // Put your plugin code here
    };  

}));

Kredi jrburke gider; çok javascript gibi fonksiyonları diğer fonksiyonlar hareket içinde fonksiyonlar. Ama ben yerleştim sanırım.

İlk satır 8 ** fonksiyonu parametre kendisi $ değişken üzerinde eklenti tanımlamak için çağrılan bir fonksiyon. AMD-uyumlu herhangi bir loader varsa, doğrudan ** 10 küresel nesne üzerinde eklenti tanımlamak için çağırdı. Ortak eklenti tanım deyim gibi:

function($)
{
  $.fn.yourjQueryPlugin = function() {
    // Plugin code here
  };
}(jQuery);

Eğer bir modül yükleyicisi varsa, o zaman factory yükleyici için Geri Yükleme gibi bir WordPress kullanmak sonra çağırmak için kayıtlı. JQuery yüklü bir kopyasını argüman. Denk

define(['jquery'], function($) {
  $.fn.yourjQueryPlugin = function() {
     // Plugin code here
  };
})

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • mahalodotcom

    mahalodotcom

    8 HAZİRAN 2007
  • TheDroidDemos

    TheDroidDemo

    15 ŞUBAT 2011
  • Vagrant Records

    Vagrant Reco

    8 Mayıs 2006