2016-06-23 32 views
7
aracılığıyla sunulan dış bağımlılıklar

Geliştirme iş akışıyla iyi oynayan iyi bir üretim iş akışı bulmaya çalışıyorum. İhtiyaç, yapıdan 1MB'lık dış kütüphaneleri hariç tutmak, ardından bunları ayrı ayrı barındırmak için bir CDN kullanmaktır. Bu yüzden elimizde:SystemJS ile üretim iş akışı ve CDN

<script src="jspm_packages/system.js"></script> 
<script src="config.js"></script> 
<script src="build.js"></script> 
<script> 
    System.import('app/main.js'); 
</script> 

Bu güzeldir, main.js'deki herhangi bir şey, build.js'de zaten var olduğu için yok sayılır. Sanırım bu, geliştirme sıcaklığına geri dönme zamanı geldiğinde, build.js'yi önceden silmemiz gerekiyor mu? Bunu yaptığımız zaman, biz satır eklemek için gerekli olan

builder.buildStatic('app/main.js', 'build.js', { 
    externals: ['jquery'], 
    globalName: 'App', 
    globalDeps: { 
    'jquery': 'jQuery' 
    } 
}); 

:

Yani şimdi üretim için dış bağımlılıkları ayırmak isteyen

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2 jquery.min.js"></script> 
<script src="jspm_packages/system.js"></script> 
<script src="config.js"></script> 
<script src="build.js"></script> 
<script> 
    System.import('app/main.js'); 
</script> 

demektir ki biz geri döndüğünüzde geliştirme yapısı için jQuery, main.js içine çift olarak eklenecek mi? Sonra SystemJS gelen pasajı vardır:

System.config({ 
    bundles: { 
     'build/core': ['jquery'] 
    } 
}); 
System.import('app/main.js'); 

olarak şimdi jQuery barındırmak için CDN kullanarak olmaz bu nasıl kullanılacağını emin değilim. Bana göre bu bir yakalama 22 gibi hissettiriyor. JSPM, paket yönetimini sağladığından, ancak üretimdeki paketleri harici olarak kullanmak istediğiniz için harika. Bu yüzden, eğer script tag'larını yine de sayfaya eklememiz gerekiyorsa, o zaman bu, JSPM'nin amacını ilk önce bozmaz mı?

Güzel ve kolay bir geliştirme/üretim iş akışının nasıl oluşturulacağı ile ilgili herhangi bir fikir, ikisi arasında geçiş yapmak istediğimiz zaman kodu değiştirmek zorunda kalmıyoruz? önceki iki çalışan Sayfası HTML her türlü değiştirmeye gerek kalmadan,

$ çalıştırmak NPM üretim

$ çalıştırmak NPM gelişme

Bu: Biz böyle bir şey istiyoruz. Farklı SystemJS ve JSPM iş akışları üzerinde saatlerce baktım ve tüm sorunları ele alan bir tane bulmak mümkün görünmüyor.

SystemJS herhangi bir yerde üretimde kullanılıyor mu, yoksa bu hala deneysel bir teknoloji olarak mı kullanılıyor? HTTP/2 ile yeni ve gelen bir standart olduğunu gördüm, burada uçbirimdeki modülleri dinamik olarak yükleyecek, bu da SystemJS'ye geçtiğini veya toz içinde kaldığı anlamına mı geliyor?

cevap

-1

Daha önce bir şeyleri paketlemek için sistemJS kullanmıyorum, ancak CDN'yi jQuery çalışması için eşleştiriyor mu?

map: { 
    ... 
    '@angular': 'https://npmcdn.com/@angular', 
    'rxjs': 'https://npmcdn.com/[email protected]', 
    'jquery': 'http://jquery.cdn' 
} 

böyle bir şey şekilde sorunu çözüyor mu

: yani sen aracılığıyla açısal ve rxjs için CDN kullanabilir? Topladım, jquery'yi global olarak kullanamayacağınız ve onu içe aktarmanız gerekeceği anlamına geliyor, ancak bunun gibi bir iş akışına geçmek faydalı olabilir mi?