تصغير الدليل بالكامل مع الحفاظ على علاقات العنصر/النمط/البرنامج النصي؟

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

سؤال

هل توجد حاليًا أي حلول يمكنها تصغير دليل المشروع بأكمله؟والأهم من ذلك، هل توجد أي حلول يمكنها تقصير أسماء الفئات والمعرفات وإبقائها متسقة في جميع المستندات؟

شيء يمكن أن يحول هذا:

الفهرس.html ---

<div class="fooBar">
  <!-- Code -->
</div>

الأنماط.css ---

.fooBar { 
  // Comments and Messages
  background-color: #000000; 
}

Index.js ---

$(".fooBar").click( function () { 
  /* More Comments */
  alert( "fooBar" ); 
});

في هذا:

الفهرس.html ---

<div class="a"></div>

الأنماط.css ---

.a{background-color:#000;}

Index.js ---

$(".a").click(function(){alert("fooBar");});
هل كانت مفيدة؟

المحلول

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

لجافا سكريبت, ، يستخدم معظم الناس ضاغط يوي أو دين إدواردز باكر.

لCSS, ، هناك الكثير من الأدوات "لتحسين" الأنماط، لكنني لا أعرف أيًا منها يختصر أسماء الفئات أيضًا.يمكن أن تكون أسباب ذلك عدة:

  1. لضغط ملف CSS، سيحتاج البرنامج النصي إلى معرفة جميع ملفات HTML التي تتضمنه، من أجل تغيير مراجع الفئة والمعرف داخلها.اعتمادًا على حجم موقع الويب الخاص بك وبنيته، قد يكون موقعه غير تافه.
  2. بعد الضغط، يصبح HTML الدلالي أقل قابلية للقراءة، كما <span class="image_caption"> تحول الى <span class="a12">, ، أو ما هو أسوأ من ذلك، <p id="a12">.

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

نصائح أخرى

أنا أستعمل http://www.w3compiler.com/ الذي يفعل الضغط والتشويش

أنا أستعمل YUICompressor لتصغير ملفات css و js الخاصة بي، وبرنامج يسمى يستبدل لإجراء استبدال مخصص للسلاسل في html (إزالة التعليقات، واستبدال jquery lib المحلي بـ google api وما إلى ذلك)

استخدم ملف دفعي لاستدعاء البرنامج على جميع الملفات ذات الامتداد المحدد في دليل المشروع الخاص بك كما يلي:

java -jar yuicompressor-2.4.2.jar -o temp\css\one-compressed.css temp\css\one.css
replace -quotes \q -srcdir temp\ -fname "*.php" -find "<script type=\qtext/javascript\q src=\qjs/jquery.js\q></script>" -replace "<script src=\qhttp://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js\q type=\qtext/javascript\q></script>"

وما إلى ذلك وهلم جرا.

حتى الآن، لم أتمكن من العثور على أي أداة جيدة للتعتيم.لكن هذين الاثنين وحدهما يجعلان مهمة التصغير والضغط آلية وأسهل بكثير.

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