Frage

Dieses Konzept ein neuer für mich ist - ich zum ersten Mal über sie kam auf YUI Abhängigkeit Konfigurator . Grundsätzlich stattdessen mehr Anfragen für viele Dateien zu haben, werden die Dateien in eine HTTP-Anfrage gekettet zu reduzieren auf Ladezeit der Seite.

Wer weiß, wie dies auf einem LAMP-Stack zu implementieren? (Sah ich eine ähnliche Frage bereits gefragt wurde, aber es ASP zu sein scheint spezifische .

Danke!

Update: Beide Antworten sind hilfreich ... (meine rep nicht hoch genug ist, noch kommentieren so einige Gedanken des Abschieds ich hier hinzufügen). Ich kam auch über eine andere Blog-Post mit PHP-spezifischen Beispielen, die nützlich sein könnten. David Build Antwort, obwohl, macht mir einen anderen Ansatz in Betracht ziehen. Danke, David!

War es hilfreich?

Lösung

Es gibt verschiedene Möglichkeiten, würden die beiden offensichtlichsten sein:

  1. ein Tool wie YUI bauen, die eine maßgeschneiderte auf die Komponenten basiert, einzigartige Version baut man je nach Bedarf aktiviert, so dass Sie immer noch die Datei als statische dienen kann. Mootools und jQuery UI alle bieten Paket-Builder wie diese, wenn Sie ihr Paket herunterladen Ihnen die schlanke und effecient Bibliothek möglich zu geben. Ich bin sicher, dass ein generisches Allzweck-Tool besteht aus.
  2. Erstellen Sie einen einfachen Perl / PHP / Python / Ruby-Skript, das auf der Grundlage der Anfrage eine Reihe von JavaScript-Dateien dient. So „onerequest.js? Last = ui & load = Effekte“ zu einem PHP-Skript gehen würden, die Lasten in den Dateien und sie mit dem richtigen Content-Type dienen. Es gibt viele Beispiele dafür, aber ich persönlich bin kein Fan.

Ich mag nicht statische Dateien durch jede Art von Skript dienen, aber Ich mag auch meinen Code mit 10 oder so separaten kleinen Klassendateien ohne die Kosten von 10 HTTP-Anforderungen zu entwickeln. So kam ich mit einem benutzerdefinierten Build-Prozess, das alle vereint die gängigsten Klassen und Funktionen und dann minifies sie in einer einzigen Datei wie project.min.js und haben einen Zustand, in alle meine Ansichten / Vorlagen, die diese Datei auf die Produktion umfasst.

Bearbeiten - Der „Custom Build-Prozess“ ist eigentlich ein extrem einfacher Perl-Skript. Er liest in jeder der Dateien, die ich als Argumente übergeben habe und schreibt sie in eine neue Datei, die gegebenenfalls die ganze Sache durch JSMin (erhältlich in alle Ihre Lieblings-Sprachen) automatisch.

Beim Befehl wie es aussieht:

perl build-project-master.pl core.js class1.js etc.js /path/to/live/js/file.js

Andere Tipps

Es gibt eine gute Blog-Post auf diesem @ http://www.hunlock.com/blogs/Supercharged_Javascript .

Was Sie wollen, ist Minify . Ich schrieb einen Durchlauf zum Einstellen it up.

Capistrano ist ein ziemlich beliebtes Rubin-basiertes Web-Deployment-Tool. Wenn Sie es erwägen oder bereits in Gebrauch ist, gibt es eine große Perle, die CSS und Javascript Abhängigkeiten herauszufinden, zusammenführen und minify die Dateien.

gem install juicer

Von den Entsafter GitHub Seite rel="nofollow">

scroll top