Geliştirme ve üretim ortamında ayırt PHP Ambalaj, önbelleğe alma, JS ve CSS

0 Cevap php

I development easy yapmaya çalışıyorum ve üretimde highly optimized çıkışı var duyuyorum.

Ben yapmaya çalışıyorum ne hedefleri olduğunu:

  • Make production pages fast! I would like that the Google Page Speed and YSlow return the best scores. This means:
    1. Combine and compress JS dosyaları ve CSS ve position the group HTML doğru yere (alt veya sayfanın üst). . Js için Google Kapatma iyi seçim gibi görünüyor.
    2. .JS and .CSS are smartly cached ama. JS veya CSS CompoNet güncelleştirilir zaman yeniden almak emin olun. İçerik 301, vb değişmez
    3. Cache type: Ben diskte önbellek iyi olduğunu düşünüyorum. Önemli ölçüde hızını artırmak ise APC ve Memcache veya Redis düşünün.
    4. Belirtin ve lazy load. JS kullanmak yetenekli gerektiğinde veya en azından sayfa işlemeyi engellemek için.
    5. (İsteğe bağlı) çok HTML sıkıştırın.
  • Make website development easy:
    1. Use short command in the .php file when you want to include .js or .css and compress them only in the production environment
      • pack_js(['first.js', 'second.js' 'third.js']) ve pack_css(['first.less', 'second.less' 'third.css'], true) gibi sözdizimi kullanın
      • Bu develpment veya üretim ortamını yapılandırmak için kolaydır. Belki sadece bir çağrı SetDebug(true or false). Default production
      • cache folders ve source folders kurmak kolay
    2. Use of LESS CSS gelişme daha berbat hale getirmek için. Her zaman bunu sunucu üzerinde güncellenir geliştirme. Daha az dosyasını değiştirmek, böylece otomatik olarak üretimde ama gelişiminde LESS.js kullanımında CSS AZ dosyaları derlemek.
    3. (Isteğe bağlı) gelişmesinde bir JS ve https://www.squarefree.com/bookmarklets/webdevel.html de kabuğuna benzer bir AZ konsol içerir

Note: bu Apachee modülleri kullanmak için OK ve. Htaccess dosyaları önemli ölçüde sürecini hızlandırmak eğer. Ama bu ideal bir kurulum komut ile quicky onları kurmak gerekir.

Bunu yapmak bir şey var mı? Veya başlamak için en iyi kaynaklar nelerdir?

Ben Google Kapatma derleyicisi ile. JS sıkıştırır ve yararsız Yorum ve beyaz boşluk sıyırma CSS / AZ dosyalarını derlemek / sıkıştırmak bir PHP komut dosyası (sonunda kaç. Php dosyaları,. Htaccess ve yürütülebilir sıkıştırma) oluşan bir çözümü tercih ederim . Özel kurabiye çıktı üretim sunucusuna geliştirme versiyonu kullanılmış olabilir.

Ben istiyorum:

Bu gibi kullanılabilir bir php fonksiyonu: pack_js(['first.js', 'second.js', 'third.js']) gibi bir şey yazmak ki:

Gelişmeler sunucularda:

<script type="text/javascript" src="static/js/first.js"></script>
<script type="text/javascript" src="static/js/second.js"></script>
<script type="text/javascript" src="static/js/third.js"></script>

Üretim sunucularında (özel çerez mevcut değilse):

<script type="text/javascript" src="cache/12a42323bfe339ea9w.js"></script>

Başka bir fonksiyonu: pack_css(['first.less', 'second.less', 'third.css'], true) gibi bir şey yazmak ki:

Gelişmeler sunucularda:

<link rel="stylesheet/less" href="/static/css/first.less" type="text/css" />
<link rel="stylesheet/less" href="/static/css/second.less" type="text/css" />
<link href="/static/css/third.css" type="text/css" />
<script src="http://lesscss.googlecode.com/files/less-1.0.21.min.js"></script>

<script type="text/javascript" charset="utf-8">
    less.env = "development";
    less.watch();
</script>

Üretim sunucularında (özel çerez mevcut değilse):

<link href="/cache/46537a8b8e876f7a8e7.css" type="text/css" />

less.js geliştirme sunucusu üzerinde çıkış olmalıdır eğer ikinci parametre belirtmek

Açıkçası 12a42323bfe339ea9w.js ve 46537a8b8e876f7a8e7.css script, optimize edilmiş paketlenmiş ve derlenmiş versiyonudur. Bu çözüm ne zaman bir kaynak dosya değişikliği algılar ve üretim için komut dosyalarını yeniden derlemek gerekir. Bu önbelleğe alma (disk iyi olan) bir komut ve tipi yerleri konusunda yapılandırılabilir olmalıdır. İdeal pack_js muhtemelen üretim js olası tembel yük yapmak için bir seçenek olmalıdır.

Her öneri karşılandı.

0 Cevap