كيفية الجمع بين طلبات متعددة جافا سكريبت الملفات في واحدة http الطلب ؟

StackOverflow https://stackoverflow.com/questions/101893

  •  01-07-2019
  •  | 
  •  

سؤال

هذا المفهوم هو جديد بالنسبة لي مررت على هذا في YUI التبعية مكون.في الأساس بدلا من وجود عدة طلبات العديد من الملفات هي ملفات بالسلاسل في واحد طلب http إلى خفض وقت تحميل الصفحة.

أحد يعرف كيفية تنفيذ هذا على مصباح كومة ؟ (رأيت مثل هذا السؤال سئل بالفعل ، لكنه يبدو أن ASP محددة.

وذلك بفضل!

تحديث:كل إجابات مفيدة...(ممثلي ليست عالية بما يكفي التعليق حتى انا إضافة بعض فراق الأفكار هنا).كما جاء عبر بلوق وظيفة أخرى مع PHP-أمثلة محددة التي قد تكون مفيدة.ديفيد بناء جواب, رغم أن, هو صنع لي النظر في نهج مختلف.شكرا يا ديفيد!

هل كانت مفيدة؟

المحلول

هناك طرق مختلفة ، وهما الأكثر وضوحا ليكون:

  1. بناء أداة مثل يوي الذي يبني مفصل, نسخة فريدة من نوعها على أساس مكونات اخترتم كما هو مطلوب بحيث يمكنك لا تزال تخدم ملف ثابت.MooTools مسج UI كل تقديم حزمة بناة مثل هذا عند تحميل هذه الحزمة لتعطيك الأكثر مبسطة و محصنين مكتبة ممكن.أنا متأكد عامة لجميع الأغراض أداة موجودة هناك.
  2. إنشاء بسيط Perl/PHP/Python/روبي السيناريو الذي يقدم مجموعة من ملفات جافا سكريبت على أساس الطلب.حتى "onerequest.js ؟ التحميل=ui&load=الآثار" سوف تذهب إلى السيناريو PHP الذي يقوم بتحميل الملفات ويقدم لهم الصحيحة نوع المحتوى.وهناك أمثلة كثيرة من هذا ولكن أنا شخصيا لست من محبي.

أنا أفضل أن لا تخدم ثابت الملفات من خلال أي نوع من السيناريو ، ولكن أود أيضا أن وضع قانون بلدي مع 10 أو حتى منفصلة صغيرة ملفات فئة دون تكلفة 10 طلبات HTTP.لذا جاء مع الطلب بناء العملية التي تجمع بين جميع الفئات الأكثر شيوعا والوظائف ثم minifies لهم في ملف واحد مثل project.min.js ويكون الشرط في جميع آرائي/قوالب أن يشمل هذا الملف على الإنتاج.

تحرير - "العرف في بناء عملية" هو في الواقع بسيط للغاية perl.يقرأ في كل الملفات التي لقد مرت كما الحجج ويكتب لهم إلى ملف جديد ، اختياريا يمر الأمر برمته من خلال JSMIN (متوفر في جميع اللغات المفضلة) تلقائيا.

في الأمر كما يبدو:

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

نصائح أخرى

هناك بلوق وظيفة على هذا @ http://www.hunlock.com/blogs/Supercharged_Javascript.

ما تريده هو صغر.لقد كتب تجول لإعداد عليه.

كابيسترانو هو شعبية إلى حد ما روبي ويب المستندة إلى أداة نشر.إذا كنت تفكر في ذلك أو بالفعل استخدامه ، هناك الكثير من الأحجار الكريمة التي سوف معرفة CSS و جافا سكريبت تبعيات, دمج, و صغر الملفات.

gem install juicer

من عصارة جيثب الصفحة, ، فإنه يمكن معرفة الملفات التي تعتمد على بعضها البعض ودمجها معا ، والحد من عدد من طلبات http في صفحة الرأي ، وبالتالي تحسين الأداء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top