SORU
15 EKİM 2012, PAZARTESİ


Nasıl istemci tarafı JavaScript bağımlılıkları yönetmek için?

Sunucu tarafında bağımlılıkları yönetmek için harika bir çözüm olsa da, tüm ihtiyaçlarımı tutarlı istemci tarafı javascript bağımlılık yönetimi iş akışı için tatmin eden herhangi bir şey bulamadı. Bu 5 gereksinimlerini tatmin etmek istiyorum:

  1. Bir format etmesinin önünü benzer yan bağımlılıkları package.json müvekkilim yönetmek veya bower'In bower.json
  2. Benim bağımlılık repo veya gerçek gıt js dosyaları (web üzerinde veya yerel olarak) nokta esnekliği gerekirdi.az bilinen kütüphaneler (hadi etmesinin önünü repo gıt işaret) dosyası json
  3. Ve ender - Bu benim istemci tarafı komut dosyası etiketi koymak gerekir sadece js dosyası gibi tek bir dosya içine tüm kütüphaneler küçült ad
  4. Box gibi coffeescript için kutu destek dışında olmalıdır
  5. Tarayıcıda require Her iki stili kullanabilirsiniz:

    var $ = require('jquery');
    var _ = require('underscore');
    

    Veya daha iyisi, henüz, yap headjs tarzı:

    head.js(['jquery', 'underscore', 'mylib'], function($, _, mylib) {
      // executed when all libraries are loaded
    });
    

Böyle bir tek araç varsa, yok, volo (ya da grunt) gibi bir şey kullanarak birleştirebiliyor bu araç zincirli yani araçları en iyi kombinasyon nedir?

Zaten buraya bağlı olması tüm araçları araştırdım ve onlar benim gereksinimleri 3 en iyi bireysel kadar tatmin sadece. Bu yüzden, lütfen bir daha bu araçlar hakkında yazı yok. Ben sadece kabul bir cevap sağlayan tek araç o karşılar hepsi 5 benim gereksinimleri ya da eğer eğer bir mesajda bir beton akışı/script/çalışma örnek bir araç zinciri birden fazla bu tür araçlar da karşılar tüm gereksinimleri. Teşekkür ederim.

CEVAP
20 ŞUBAT 2013, ÇARŞAMBA


require.js gereken her şeyi yapar.

Cevabım içinthissoru size yardımcı olabilir

Örnek:

İstemci Uygulama Projesi hiyerarşi:

sampleapp
    |___ main.js
    |___ cs.js
    |___ require.js

main.jsmüvekkilin uygulama ve yapılandırma require.js başlatmak için:

require.config({
    baseUrl: "/sampleapp",
    paths: {
        jquery: "libs/jquery", // Local
        underscore: "http://underscorejs.org/underscore-min.js", // Remote
        backbone: "https://github.com/documentcloud/backbone/blob/master/backbone-min.js" // Remote on github
    },
    shim: {
        backbone: {
            deps: ["underscore", "jquery"] // Backbone depends on jquery and underscore
        }
    }
});

require(["cs!someCoffeescriptFile", "jquery", "backbone", "underscore"], function (SomeCoffeescriptFile, $, Backbone, _) {
    // Dependencies are loaded...
    // Execute code
});

Bağımlılıklar E tarafından cs eklenti kullanacağız "cs!". Cs plugin coffeescript dosyayı derler.

Prod girdiğinizde ön derleme r.js ile tüm projenizi yapabilirsiniz.

node ./node_modules/requirejs/bin/r.js -o buildclientconfig.js

Burada gereksinimleri:

  • Bir format etmesinin önünü benzer müvekkilimin yan bağımlılıkları yönetmek paket.json veya bower bileşeni.json.Farklı ama GÜZEL!

  • Git repo veya gerçek js işaret esnekliği gerekirdi benim bağımlılık dosyaları (web üzerinde veya yerel olarak).json dosyası az bilinen kütüphaneler (etmesinin önünü izin repo gıt işaret).EVET

  • Ve tek bir dosya içine tüm kütüphaneler gibi minify ad olmalı ender - o benim koymak gerekir sadece js dosyasının komut dosyası etiketi istemci tarafında.EVETr ile.js.

  • Kutu gibi coffeescript için kutu destek dışında olmalıdır.EVET

  • Tarayıcıda ya da stil gerektirir veya headjs kullanabilirim.EVET

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • Michael Neal

    Michael Neal

    2 Mayıs 2009
  • multimediaGEEKS LLC

    multimediaGE

    3 Mayıs 2010