SORU
14 HAZİRAN 2012, PERŞEMBE


Require.js beynim acıyor. Bazı temel sorular hakkında betikleri yükler/modülleri

Hadi bu config.js ya benim main.js olduğunu varsayalım:

require.config({
    // paths are analogous to old-school <script> tags, in order to reference js scripts
    paths: {
        jquery: "libs/jquery-1.7.2.min",
        underscore: "libs/underscore-min",
        backbone: "libs/backbone-min",
        jquerymobile: "libs/jquery.mobile-1.1.0.min",
        jquerymobilerouter: "libs/jquery.mobile.router.min"
    },
    // configure dependencies and export value aliases for old-school js scripts
    shim: {
        jquery: ["require"],
        underscore: {
            deps: ["jquery"],
            exports: "_"
        },
        backbone: {
            deps: ["underscore", "jquery"],
            exports: "Backbone"
        },
        jquerymobilerouter: ["jquery", "backbone", "underscore"],
        jquerymobile: ["jquery", "jquerymobilerouter", "backbone", "underscore"]
    }
});
require(["jquery", "backbone", "underscore", "app/app.min", "jquerymobilerouter", "jquerymobile"], function ($, Backbone, _, App) {
    console.log($);
    console.log(Backbone);
    console.log(_);
    $("body").fadeIn(function () {
        App.init();
    });
});
  1. Eğer doğru anladıysam, paths yapılandırma seçeneği başvurusu komut, a-la HTML içinde <script> etiketi sağlar. Bu durumda olduğunu varsayarsak, hala $ ile bir WordPress kullanmak gibi komut alias gerek var mı ya da benim gerçek ihtiyaç _ ifadesi ile alt çizgi altında? İçin, ** 10 standart etiketi ile jQuery başvuru, $ eğer senaryonu boyunca otomatik olarak kullanılabilir verirdim garip görünüyor. paths kullanarak aynı olması gerekmez mi?

  2. order! kaldırılan eklenti yerini anlıyorum ki shim yapılandırma seçeneği, yeniyim. exports özelliği tam olarak ne yapıyor? Gelmiyor oluşturmak için bir diğer ad için bir komut dosyası; örneğin, ben set exports alt çizgi "whatever", ve sonra denemek için console.log(whatever), tanımlanmamış. Yani ne anlamı var ki?

  3. Nasıl bir WordPress kullanmak gibi komut dosyaları düzgün "küresel?" kullanılacak Bu, ne benim app.js içinde $ alias modülü kullanabilmek için uygun bir yol, ya da benim başka bir modül klasörü"? uygulamadır Modül ve diğer $ her bireyin her zaman içinde bir WordPress kullanmak ihtiyaç var mı? Ya burada yaptığım yol doğru yol mu?

Derdim büyük ölçüde takdir başka eleştiriler bu özel komut olarak; belgelerine Require.js benim görüşüme göre, yaprakları çok arzu edilecek; şeyler istiyorum biliyorum daha ilgili görünmek için bi ve bırak beni kafamı kaşıyorum.

CEVAP
14 HAZİRAN 2012, PERŞEMBE


  1. Yolları bağımlılık ihtiyacınız olduğunda nerede require.js söyle.

    Örneğin bunun gibi şeyler yaptıysanız:

    "paths": { 
        "jquery": "require_jquery"
    },
    "shim": {
        "jquery-cookie"  : ["jquery"],
        "bootstrap-tab"  : ["jquery"],
        "bootstrap-modal": ["jquery"],
        "bootstrap-alert": ["jquery"]
    },
    

    Bu modül her zaman yapıyorum anlamına gelir

    define( ['jquery']
    

    requirejs dosyayı yükler 23* *jquery.js yük etmek yerine ana yoldan. Sizin durumunuzda o zaman dünyada mevcut olan bir WordPress kullanmak kaynak dosya, yük olur. Ben şahsen bu yaklaşımı sevmiyorum ve require_jquery.js dosya bu nedenle yapıyorum:

    define( ["jquery_1.7.2"], function() {
        // Raw jQuery does not return anything, so return it explicitly here.
        return jQuery.noConflict( true );
    } );
    

    bir WordPress kullanmak benim tek modülleri içinde tanımlanan olacağı anlamına gelir. (Bu Wordpress eklentileri yazıyorum çünkü dışarıda sürümü dokunmadan bir WordPress kullanmak) benim kendi sürümü vardır

  2. (Belgeleri okuma sadece eğer yükleme doğru giderse. algılanabilir, böylece kullandığınız modül adı olmalıdır ihracatı Here açıklanmıştır. Eğer öyleyse alt çizgi için bir ihracat ayarlamak istiyorsanız _ olmalıdır

  3. bir WordPress kullanmak eğer dosya yürütülür basitçe alma açıkladığım gibi küresel olmalı ve küresel bir WordPress kullanmak

DÜZENLE - yorum cevap.

  1. Evet, gerekir yani Omurga için ihracat veya bir WordPress kullanmak için bir WordPress kullanmak ve _$. Belgeleri gelen var ne gelen bu sadece bazı kenar durumlarda gereklidir ve jQuery gibi genel ad alanında kendilerini bildiren kütüphaneler için gerekli olmayacaktır.

    Requirejs yükleme jQuery dan bir geri dönüş VİDEO dan da onlara ihtiyacı olduğunu düşünüyorum. bence bu requirejs ilk çalıştığında yük jQuery gelen EĞER, o zaman yapar bir kontrol doğrulamak için dolu olduğunu doğru bir şekilde kontrol ederek, bu "ihraç" değişken var, ve eğer o değil mi yükler bu form yerel dosya sistemi (varsa yapılandırılmış fallbacks, elbette). Bu requirejs 404 geri geliyor görmüyor zaman gerekli bir şeydir.

  2. jQuery genel ilan etti çünkü genel olarak kullanılabilir. Basit ve jQuery komut dosyası yüklenemedi yürütmek, iki bütünsel, $ jQuery (ya da benim yaptığım gibi yapabilirsin önlemek) ile sona erecek. define() işlev içinde olabilir diğer istediğin her şey için bir WordPress kullanmak.

    define( [ 'jquery' ], function( jq ) {
        // jq is jquery inside this function. if you declared it 
        // globally it will be also available as $ and jQuery
    } );
    

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • InsideBlackBerry

    InsideBlackB

    14 Aralık 2009
  • jbignacio

    jbignacio

    13 Mart 2006
  • sinumatic

    sinumatic

    19 Aralık 2006