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:
- Bir format etmesinin önünü benzer yan bağımlılıkları package.json müvekkilim yönetmek veya bower'In bower.json
- 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
- 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
- Box gibi coffeescript için kutu destek dışında olmalıdır
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
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
Ekran görüntüsü nasıl web sitesi istem...
Nasıl csv (istemci tarafında) JavaScri...
İstemci tarafı için en iyi çözüm JavaS...
Nasıl bir JavaScript nesnesinin bir öz...
Nasıl JavaScript ile boş bir dize için...