ما هي أفضل طريقة لحزم كود JavaScript دون حدوث عيوب في الأداء؟

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

  •  02-07-2019
  •  | 
  •  

سؤال

أنا أبحث عن طريقة لضغط كود JavaScript لجهاز iPhone.هل هناك طريقة لتجنب استخدام الكثير من وقت وحدة المعالجة المركزية على الجهاز الصغير والبطيء نوعًا ما؟

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

المحلول

يستخدم JSMin وتجنب باكر وهو في الحقيقة يستهلك وحدة المعالجة المركزية بشكل أكبر وأبطأ في "التفريغ"

نصائح أخرى

استخدم ال ضاغط يوي

أنا أحب شرينك سيف.فهو يفسر التعليمات البرمجية الخاصة بك في Rhino، ثم يقوم بإرجاع التعليمات البرمجية المضغوطة.نظرًا لأنه يعمل على تعليمات برمجية مفسرة حقيقية (بدلاً من تقييمات السلسلة المعقدة)، فلن يقوم أبدًا بإلغاء التعليمات البرمجية أو يفشل في العثور على الاختلافات بين المتغيرات العامة والخاصة.

إنها أداة ذات جودة ممتازة.

لقد استخدمنا js_compactor و جافا سكريبت لينت "لتجميع" وضغط JavaScript في عملية الإنشاء الآلية لدينا.قد تتطلب خطوة البناء الإضافية ضغط JavaScript ودمج الملفات ذات الصلة في حزمة واحدة.كان تعزيز الأداء كبيرًا، ولكن انتبه إلى أنك تستبدل القدرة على تصحيح الأخطاء.

إن تقليل عدد الملفات المرسلة إلى العميل سيمنحك تعزيزًا كبيرًا في الأداء عندما يكون هناك أكثر من عدد قليل من الملفات.عادةً، لن تفتح المتصفحات سوى اتصالين بخادم واحد في المرة الواحدة، لذلك حتى إذا كنت تقوم بنقل ملفات مضغوطة ومصغرة، فإن المتصفح ينفق قدرًا كبيرًا من النفقات العامة للتحقق من ذاكرة التخزين المؤقت الخاصة به. yslow ساعدنا تعريف لماذا يستغرق تحميل الصفحات وقتًا طويلاً ويساعدنا في تركيز جهود التحسين لدينا.لقد قمنا بتجهيز بيئتنا إما لاستخدام الملفات الخام أو تصغير و الإصدارات المضغوطة.

أعتقد أن Safari على iPhone يدعم إخراج gzip لذا يمكنك استخدام شيء مثل mod_deflate.لقد حصلت على أفضل النتائج باستخدام هذه الطريقة.إن قدرًا كبيرًا من عناصر ضغط JavaScript المتوفرة عبارة عن قمامة مطلقة ويستغرق فك الضغط وقتًا أطول مما يستغرقه تنزيل الملف الأكبر.يبدو JSMin جيدًا جدًا.

يمكنك تجربة أدوات مختلفة على جافا سكريبت CompressorRater.جميع الأدوات، باستثناء أداة التعبئة، ليس لها أي تأثير على مدى سرعة تنفيذ جافا سكريبت على حد علمي - فهي تقوم فقط بإزالة المسافات البيضاء وإعادة تسمية المتغيرات وما إلى ذلك.

أنا نفسي أعتبر ضاغط يوي ليكون أفضل واحد.

من المفيد دائمًا التحقق من صحة الكود JSLint أولاً للتأكد من أن الضاغط يفهم ذلك بشكل صحيح.

إن التأكد من أن خادم الويب الخاص بك يخدم بشكل صحيح الأشياء المضغوطة/المفرغة عندما يدعمها العميل يكون عادةً أكثر فعالية من تصغير كود البرنامج نفسه.وبطبيعة الحال، فإن استخدام كليهما يؤدي إلى إعطاء أحجام أصغر.

لقد مررت بهذه الرقصة الصغيرة في الأيام القليلة الماضية.لقد حاولنا استخدام باكر, ، ولكن وجدت أن تنفيذ حزمة JavaScript المعبأة يستغرق أكثر من ثانيتين (ناهيك عن حظر التنزيلات الأخرى).مرتكز على هذا المقال لقد تحولنا إلى ضاغط يوي.لا يقتصر الأمر على أن أحجام ملفات gzipped لدينا أصغر، بل إن أوقات التنفيذ أقل من 300 مللي ثانية.

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