تسلسل CSS و JS قبل الضغط؟ أدوات؟ أفضل الممارسات؟
-
06-07-2019 - |
سؤال
أنا أعمل على موقع من صفحة واحدة يدمج حوالي عشرة ملفات .JS وربما نصف دزينة. CSS.
معظم ملفات .js هي الإضافات jQuery. بصرف النظر عن ملف CSS الأساسي ، فإن ملفات CSS مخصصة للمكونات الإضافية JQuery المقابلة.
ضاغط يوي يبدو أنه مفضل لضغط ملفات CSS و JS. ومع ذلك ، فإنه يضغط فقط الملفات الفردية.
أود أيضًا الجمع بين ملفاتي و (بشكل مثالي) ينتهي به المطاف مع ملف .js وملف .css واحد (كلاهما مضغوط).
هل هناك أي أدوات مفضلة تتيح لك أتمتة دمج ملفات .js و .css في ملف واحد حتى يمكن تشغيلها من خلال ضاغط yui؟
المحلول 4
انتهى بي الأمر بالتعثر على هذا الخيار:
إنه ملف دفعة يجمع بين الإصدارات المحلية من التسلسل وضاغط Yui و Dean Edward's Packer.
في النهاية ، على الرغم من ذلك ، لم أتمكن من جعل باكر يعمل محليًا. ظل يفسد بلدي .js.
لذلك ، تخطيت هذا الجزء ثم قمت بتشغيل رمز Yui المضغوط من خلال Packer عبر الإنترنت وشاهدت زيادة إضافية بنسبة 1 ٪ في الضغط ، لذلك فقط حذفت مرحلة Packer.
في النهاية ، استخدمت الحل الإرشادات المرتبطة أعلاه مع ملف دفعي معدّل قليلاً:
اكتب .. js-in*> jb.js java -jar .. yui build yuicopressor -2.4.2.
شكرا لجميع الحلول الأخرى (صالحة) كذلك. الكثير من المعلومات الجيدة!
نصائح أخرى
إذا كنت تعرف قليلاً ، PHP ، فقد وجدت أن هذا هو أفضل طريقة: http://www.thedanglybits.com/2007/06/21/minify-your-external-javascript-css-with-php/
قد ترغب في التحقق من سبوكت (http://www.getsprockets.com/).
كنت أطرح هذا السؤال فقط في اليوم الآخر. بعد تعب تجوب الويب ، توصلت إلى هذا الحل المخترق (ملف دفعة Windows).
@echo off
set TUNA_ROOT=C:\path\to\webroot
set YUI_COMPRESSOR_PATH=C:\path\to\yuicompressor-2.4.2\build
set TEMP_JS_FILE=%TUNA_ROOT%\scripts\all_scripts_temp.js
set OUTPUT_JS_FILE=%TUNA_ROOT%\scripts\tuna_min.js
if exist "%TEMP_JS_FILE%" del "%TEMP_JS_FILE%"
if exist "%OUTPUT_JS_FILE%" del "%OUTPUT_JS_FILE%"
type "%TUNA_ROOT%\Scripts\MicrosoftAjax.js" >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
type "%TUNA_ROOT%\Scripts\MicrosoftMvcAjax.js" >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
rem ...and so on...
java -jar "%YUI_COMPRESSOR_PATH%\yuicompressor-2.4.2.jar" -v --charset utf-8 -o "%OUTPUT_JS_FILE%" "%TEMP_JS_FILE%"
if exist "%TEMP_JS_FILE%" del "%TEMP_JS_FILE%"
لكنني أحب ذلك حقًا إذا كانت هناك طريقة أكثر تلقائيًا لفعل الأشياء.
أستخدم هذا الموقع بشكل حصري تقريبًا لضغط ملفات JS و CSS:
http://www.lotterypost.com/js-cirmress.aspx
http://www.lotterypost.com/css-compress.aspx