CDN kullanmanın amacı , her şeyden önce daha hızlı olmasıdır , çünkü dağıtılmış bir ağdır, ancak ikincisi, statik dosyalar tarayıcılar tarafından önbelleğe alınır ve örneğin, jquery
sitenizin CDN'nin kütüphanesi olan olasılıkları yüksektir. kullanımları kullanıcının tarayıcısı tarafından zaten indirilmişti ve bu nedenle dosya önbelleğe alınmıştı ve bu nedenle gereksiz bir indirme gerçekleşmiyor. Bununla birlikte, bir geri dönüş sağlamak hala iyi bir fikirdir .
Şimdi, bootstrap'ın npm paketinin noktası
modül olarak bootstrap'ın javascript dosyasını sağlamasıdır . Yukarıda belirtildiği gibi olup, bu mümkün hale getirir onu kullanarak browserify Anladığım kadarıyla, bootstrap temel nedeni NPM yayımlanmasına, büyük olasılıkla kullanım durumunda olan ve.require
Bu nasıl kullanılır
Aşağıdaki proje yapısını düşünün:
proje
| - düğüm_modülleri
| - kamu
| | - css
| | - img
| | - js
| | - index.html
| - package.json
Gözlerinde farklı index.html
hem referans verebilir css
ve js
bu gibi dosyaları:
<link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css">
<script src="../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
Hangi en basit yol ve .css
dosyalar için doğru . Ancak bootstrap.js
dosyayı böyle bir yere public/js/*.js
dosyalarınıza eklemek çok daha iyidir :
var bootstrap = require('bootstrap');
Ve bu kodu yalnızca javascript
gerçekten ihtiyacınız olan dosyalara eklersiniz bootstrap.js
. Browserify bu dosyayı sizin için ekler.
Şimdi dezavantaj, artık ön uç dosyalarınızı node_modules
bağımlılık olarak görmeniz ve node_modules
klasörün genellikle teslim edilmemesi git
. Bence bu, birçok fikir ve çözümle en tartışmalı kısım .
GÜNCELLEME Mart 2017
Bu cevabı yazdığımdan beri yaklaşık iki yıl geçti ve bir güncelleme var.
Şimdi genel olarak kabul edilen yol, tüm öğelerinizi oluşturma adımında paketlemek için webpack (veya seçtiğiniz başka bir paketleyici) gibi bir paketleyici kullanmaktır .
İlk olarak, browserify gibi commonjs sözdizimini kullanmanıza izin verir, böylece projenize bootstrap js kodunu dahil etmek için aynı şeyi yaparsınız:
const bootstrap = require('bootstrap');
css
Dosyalara gelince , webpack " yükleyiciler " olarak adlandırılmıştır . Bunu js kodunuza yazmanıza izin verir:
require('bootstrap/dist/css/bootstrap.css');
ve css dosyaları derlemenize "sihirli bir şekilde" dahil edilecektir. <style />
Uygulamanız çalıştığında dinamik olarak etiket olarak eklenirler , ancak web paketini ayrı bir css
dosya olarak dışa aktarmak için yapılandırabilirsiniz . Bununla ilgili daha fazla bilgiyi webpack'in belgelerinde okuyabilirsiniz.
Sonuç olarak.
- Uygulama kodunuzu bir paketleyiciyle "paketlemelisiniz"
node_modules
Git için ne dinamik olarak oluşturulmuş dosyaları işlememelisiniz . build
Npm'ye dosyaları sunucuya dağıtmak için kullanılması gereken bir komut dosyası ekleyebilirsiniz . Her neyse, bu tercih ettiğiniz derleme işlemine bağlı olarak farklı şekillerde yapılabilir.