Javascript/CSS مواقع الملفات لفرع التطوير مقابل فرع الإنتاج

لقد قمت بإعداد خادم الويب الخاص بي لاتباع مسار العمل المشترك مع git/على الويب بالنسبة للجزء الأكبر.

لذلك لدي فرع dev في مجلد واحد كنطاق فرعي وفرع رئيسي في المجلد/المجال الجذر الخاص بي.

The trouble is that in production, we combine & minify our master branch js/css files and put them on our cdn and each time we change & minify the files, the filename changes so our master branch ends up referencing something like cdn.example.com/e23ab9.js and this is of course changing as frequently as we code updates.

But then on our development version & branch, we of course want to to just reference the uncombined & unminified files so that we can constantly be testing new modifications.

أنا متأكد من أن هناك طريقة ذكية/مبسطة لحل هذا الموقف ، لذلك نحن لا نلتزم باستمرار ذهابا وإيابا بين ملفات js/css الخام وأسماء الملفات المستخرجة حديثًا في كل مرة نقوم فيها بتحديث إصدارنا الإنتاجي بأحدث إصدار من مطور البرامج .

أنا أفكر الحل قد تنطوي على روابط الرمزية أو شيء بهذا المعنى ولكن أنا لم تكن مألوفة جدا معهم، ويفضل أن تعلم أنها تفعل ذلك ومنذ البداية.

أي اقتراحات أو نصائح أو اتجاه سيكون موضع تقدير كبير

شكرا لكم جميعا

0
هل تعمل في .NET؟
وأضاف المؤلف Vince Panuccio, مصدر
لا ، ولكن تم حل الموقف مؤقتًا من خلال عبارة بسيطة إذا تم التحقق من النطاق الذي يتم الدخول إليه ، ثم تحميل مجموعة الملفات المناسبة. سوف أفعل الآن لكنني متأكد من أن هناك طريقة أفضل
وأضاف المؤلف jstats, مصدر

1 إجابة

jstats ، ندير إعدادًا مشابهًا ووفقًا لتعليقك ، يكون ذلك منطقيًا.

لإعادة التأكيد على ما أعتقد أنك قررت فعله في هذه الحالة -

  1. You likely compress & combine your files, creating a dynamic & random filename which is sent up to the CDN.
  2. [ Long shot of a guess here.. ] - you somehow note on the server (maybe a file sort of like a PID file but that contains the randomized filename) which you can grab at render time to point toward the CDN file.
  3. Upon render, you check with your server side code whether you are on production or development. 3a. If production, grab your "PID" like file and point toward the minified CDN file 3b. If development, load all of the regular resources

هذا يتطلب قفزة من الافتراض ، لكني رأيت هذا التنفيذ قبل ذلك ذهبت معه: -

الإجابة على سؤالك بخصوص إصدار أكثر بساطة:

Yes, one great way to streamline this is via something like Google Pagespeed Module

بعد ذلك ، قم ببساطة بإعداد إعدادات Virtual Hosts لإعداد الإنتاج الخاص بك للسماح لـ Pagespeed بعمل شيءها وعلى إعداد التطوير الخاص بك ، قم بإيقاف تشغيل Pagespeed!

ينتهي الأمر بسيط نسبيا بهذه الطريقة.

أنا متأكد من أنك انتقلت ولكن في حالة شخص آخر يجد هذا السؤال ويبحث عن إجابة ..

0
وأضاف