دعونا نواصل شخرنا
كما فعلنا في الجزء الثاني من تمرين نصوص الآلية الوقائية الوطنية،
في هذا الجزء الثاني من هذا التمرين الناخر،
سنقوم بتكوين نفس المهام بالضبط.
سنقوم بتنظيف مجلد التوزيع،
ونسخ الخطوط إلى مجلد التوزيع،
ثم سنقوم أيضًا بإجراء تصغير صورنا باستخدام imagemin،
ثم استخدم مهمة usemin لإنشاء وإعداد مجلد التوزيع الخاص بنا.
الاستمرار في ممارسة لدينا،
وسوف تثبيت اثنين من وحدات النخر.
لذلك، دعونا تثبيت الآلية الوقائية الوطنية، تثبيت غرونت-كونتريب-نسخة.
يتم استخدام هذا لنسخ الملفات ثم grunt-contrip نظيفة،
وناقص save-dev.
وبمجرد تثبيت هذين الاثنين،
ثم سنمضي قدما وتكوين المهام المقابلة.
الذهاب إلى ملف النخر الخاص بك،
سنضيف في التكوين لكل من النسخة والمهام النظيفة.
لذلك، بدءا من الفاصلة،
تذكر دائما عدم نسيان الفاصلة.
سيعود ليعضك في اللحظات الخاطئة إذا فعلت ذلك
لذلك دعونا إعداد مهمة النسخ.
بالنسبة للنسخة، تتوقع usemin منا أيضًا الاحتفاظ
بملفات HTML الخاصة بنا منسوخة إلى مجلد التوزيع
بحيث يمكنه القيام بالتلاعب على ذلك.
لذلك، في هذه الحالة،
سنقوم أولاً بنسخ
ملفات HTML من مجلد مشروعنا إلى مجلد التوزيع.
لذلك، للقيام بالنسخ،
سأقوم بإعداد جزء HTML منه.
لذلك، هذا هو المكان الذي سنستخدم
فيه بعض بناء الجملة الناخر لتحديد الملفات التي تحتاج إلى نسخ.
لذلك، أقول الملفات وأيضا تحديد
الأقواس اليمنى واليسرى واليمنى هناك حتى داخل هذا،
وأنا بحاجة إلى تحديد الآن تكوين معين.
لذا، أود أن أقول، قم بتوسيع صحيح ونقطة صحيح، ثم CWD،
دليل العمل الحالي هو شرطة مائلة نقطية
، وبعد ذلك،
سنقوم بتكوين الملف التالي الذي هو SRC،
وملفات المصدر، ثم الملفات المصدر هي star.html،
جميع ملفات HTML،
وبعد ذلك سنقوم بنسخها إلى مجلد dist.
لهذا السبب يتم تعيين الوجهة إلى مجلد التوزيع هنا.
لذلك، مع هذا الإعداد،
ستقوم مهمة النسخ الخاصة بي بنسخ كافة ملفات HTML إلى مجلد التوزيع.
الآن جنبا إلى جنب مع ذلك، نحن بحاجة أيضا لنسخ الخطوط.
لذلك، سأقوم بإعداد الثانية للخطوط.
لذلك، أنا تحديد الخطوط ثم هنا أيضا أنا بحاجة إلى تحديد
الملفات التي تحتاج إلى نسخ وهكذا نقول الملفات،
ومن ثم هذه هي
بعض المعلمات التكوين التي تحتاج إلى إعداد لمهمة النسخ.
الآن، إذا كنت بحاجة إلى فهم،
ثم من خلال قراءة وثائق البرنامج المساعد نخر المقابلة،
عليك أن تكون قادرة على معرفة ذلك وهكذا أو يمكنك
ببساطة اتباع المثال الذي أعطي هنا.
لذا، نقطة true، ثم CWD،
دليل العمل الحالي هو وحدات العقدة والخط رهيبة.
لذلك هذا هو المكان الذي سأقوم بنسخ الملفات منه،
ثم مصدر الملفات هو fontsstar.star،
تلك هي الملفات التي أحتاج إلى نسخها،
والوجهة هي مجلد التوزيع.
لذلك مع هذا، قمت بإعداد مهمة النسخ الخاصة بي لنسخ
كل من ملفات HTML وملفات الخطوط في مجلد التوزيع الخاص بي.
الآن، المهمة التالية التي سأقوم بإعدادها هي المهمة النظيفة.
لذلك، اسمحوا لي تكوين مهمة نظيفة.
بالنسبة للمهمة النظيفة، سأقوم بتكوين البنية،
ثم سأقول أن المصدر هو مجلد التوزيع.
لذلك، تحديد بشكل أساسي أنه يجب تنظيف مجلد التوزيع.
لذلك، الآن قمنا بإعداد النسخة والمهام النظيفة لذلك دعونا حفظ التغييرات.
المهمة التالية التي سأقوم بإعدادها هي مهمة imagemin.
هذا هو ما سنستخدمه لضغط الصور ونسخها في مجلد التوزيع.
للبدء في مهمة imagemin، الخطوة الأولى،
قم بتثبيت البرنامج المساعد الناخر المقابل.
لذلك، غرونت-كونتريب-إيماجيمين، ناقص حفظ.ديف.
وبمجرد أن يتم تثبيت
ذلك، ثم سنمضي قدما وتكوين مهمة imagemin المقابلة.
الذهاب إلى ملف نخر لدينا بعد التكوين لمهمة نظيفة،
وأنا ذاهب لتكوين مهمة إيماجيمين.
لذلك، سأقول إيماجيمين،
ثم الحق في هناك،
وسوف تحدد ديناميكية،
وداخل هناك سوف تحديد الملفات حتى تتمكن من
رؤية أن مواصفات الملف ستكون مماثلة.
أود أن أقول، توسيع صحيح،
ثم CWD هو الدليل الحالي.
ثم مصدر الملفات هو imagestar.
ثم بين قوسين، داخل الأقواس،
أحدد PNG و GIF و JPG.
لذلك أساسا، يمكنك أن ترى نمط الملف العالمي هنا.
لذلك يقول أي
ملفات PNG أو GIF أو JPG التي تتطابق مع هذا النمط ثم
تبدأ نقطة تعني جميع ملفات هذا النمط،
والمصدر، والوجهة،
أقوم بتعيينها كمجلد التوزيع.
لذلك مع هذا، قمنا بتكوين نسختنا
ونظيفة ومهمة imagemin.
دعونا تكوين مهمة هنا تسمى بناء.
لذلك، أود أن أقول، تسجيل المهمة،
مهمة تسجيل النخر ثم سأقوم بتسمية المهمة كبناء،
ثم داخل هذا،
سنقوم بتحديد خطوات الإعداد التي يتعين القيام بها من قبل مهمة البناء.
لذا، هناك، فاصلة منقوطة ثم هناك،
سأحدد المهام الثلاث في التسلسل الذي يجب أن يؤديها.
أولا، سأقول، نظيفة.
لذلك، سنقوم بتنظيف مجلد التوزيع
ثم البدء في إعادة إنشاء مجلد التوزيع.
نظيفة، ثم المهمة التالية ستكون
نسخ وبعد ذلك أود أن أفعل، imagemin.
لذلك هذه المهام الثلاث ليتم تكوينها هنا.
لذلك مع هذا، اسمحوا لي أن حفظ التغييرات.
دعونا نرى كيف يعمل هذا الشيء.
الآن، والذهاب إلى المطالبة إذا كنت اكتب
، نخر وبناء، سترى أنه سوف تفعل أولا نظيفة،
ثم للقيام نسخة والقيام مهمة إيماجيمين.
لذلك، فإنه يفعل كل هذه الثلاثة ومن ثم سترى على الفور
أن مجلد التوزيع بنيت في مجلد المشروع الخاص بي هنا.
وداخل مجلد التوزيع يمكنك أن ترى أن الخطوط قد تم نسخها،
وقد تم نسخ الصور
وتم نسخ ملفات HTML الثلاثة إلى مجلد التوزيع.
أنت فقط في منتصف الطريق هناك
الآن، نحن بحاجة إلى أن تكون قادرة على معالجة هذه الملفات باستخدام البرنامج المساعد usemin.
لذا، دعنا نَذْهبُ إلى ذلك التاليِ.
الآن، سأقوم بتثبيت بعض وحدات NPM
المفيدة لبناء مجلد التوزيع.
لذلك، للقيام بذلك، أود أن أقول تثبيت الآلية الوقائية الوطنية.
يمكنني تحديد مجموعة من الوحدات هنا لذلك،
أود أن أقول، غرونت-كونتريب-كونكات.
لذلك، وهذا يستخدم لسلسلة الملفات، ثم غرونت-كونتريب-كسمين،
غرونت-كونتريب-هتملمين، ثم يقول، غرونت-كونتريب-أوغليفي.
ثم غرونت فيليريف.
سترى سبب استخدام filerev في فترة قصيرة،
ثم غرونت-usemin، وحفظ ديف وبعد ذلك،
تثبيت كل هذه الوحدات النخر.
بمجرد تثبيت كل منهم،
فإن الخطوة التالية هي الذهاب وتكوين،
مهمة usemin الذي يستخدم أيضًا
مهام csmin Uglify Concat لإنجاز بناء مجلد التوزيع.
الآن، دعونا المضي قدما في تكوين مهمة usemin.
حتى العودة إلى ملف النخر بعد إيماجيمين،
وأنا ذاهب لإضافة في المهمة التالية لوسيمين للعمل مع النخر.
وتسمى المهمة الأولى التي أحتاج إلى تكوين أوسيمينبريبي.
ستقوم مهمة UseminPreprade هذه بإعداد الملفات ثم قم أيضًا بتكوين
Concache CSS min و Uglify والملف ref الإضافات،
بحيث يمكنهم القيام بعملهم بشكل صحيح.
لذلك، هذا هو السبب في UseminPreprade.
لذلك، هذه هي الطريقة التي تم تصميم البرنامج المساعد منحة usemin.
تختلف إلى حد ما عن طريقة usemin التي استخدمناها مع البرامج النصية نهاية اللعبة woks.
لذلك، في
UseminPreprade، فقط بعض الاسم العشوائي الذي سأستخدمه ثم أقول الوجهة هي dist.
ثم أود أن تحديد المصدر كما جميع ملفات هتمل هنا.
لذلك أود أن أقول contactus.html،
aboutus.html، و index.html.
لذلك، كل هذه الملفات الثلاثة تحتاج إلى معالجة.
الجزء التالي من هذا التكوين
usemin، التكوين أوسيمينبريبي هو المكان الذي حدد الخيارات.
هذا شيء لقد برزت من خلال التجربة والخطأ.
فقط اتبع الخطوات
لذلك أنا بحاجة إلى تكوين
بعض الأشياء هنا داخل حيث أحتاج إلى تكوين شيء يسمى Flow.
ثم داخل هناك أنا بحاجة إلى تكوين جزء آخر يسمى الخطوات،
ثم هنا أنا تحديد الخطوات هنا ومن ثم أقول csmin،
وبعد ذلك سأقول جس هو uglify.
لذلك، هذا شيء أحتاج إلى تحديده هنا وبعد ذلك أقول بعد ذلك،
وهنا يمكنني السماح لهذا لتوفير
بعض الخيارات لمهامهم المحددة التي قمت بتكوينها.
لذا، أقوم بتوفير بعض الخيارات الإضافية لـ css.
لذلك، يتم توفير ذلك داخل المشاركة هنا.
الآن مرة أخرى، هذه هي الطريقة التي يجب أن يتم بها التكوين.
لذلك، تعلمنا ذلك للتو من خلال النظر في الوثائق هناك.
لذلك، في هنا داخل آخر css،
أود أن أحدد اسمًا كـ csmin.
حتى الآن هذا هنا هو مهمة cssmin.
أود أن أقول كريتيكونفيغ:
كتلة سياق وظيفة، ومن ثم داخل تلك الوظيفة
لا بد لي من توفير بعض المعلمات.
لذلك، أود أن أقول فار
ولدت خيارات السياق مولد.
لذلك هذا هو بعض متغير جافا سكريبت الذي أحتاج إلى
تحديده هناك، كائن جافا سكريبت أساسا.
لذلك، يحتوي هذا الكائن على هذه الخاصية تسمى الخيارات،
حيث يمكنني تحديد بعض الخيارات التي يتم تمريرها
إلى دقيقة CSS المكلفة من قبل مهمة إعداد usemin.
لذلك، في هناك، والحفاظ على
تعليقات خاصة ومن ثم،
rebase هو خطأ.
على ما يبدو أنا بحاجة إلى توفير هذا من أجل مهمة csmin بلدي للتعامل حاليا مع
تعديل الخط رهيبة وإدراجها في الملف المتسلسل.
إذا لم أفعل
ذلك، يبدو أن كسر الخط رهيبة وهذا شيء أنا أحسب،
من خلال القيام قليلا من
البحوث على تجاوز كومة وبعض هذه الأماكن وأحسب أن
مشكلتهم التي تحدث مع الخط رهيبة يمكن
إصلاحها من خلال تضمين هذا في بلدي التكوين النخر.
لذلك، مرة أخرى لقد نظرت للتو
في الاقتراحات من بعض الناس الذين حاولوا وإصلاح المشكلة.
لذا، إذا واجهت مشاكل مثل
هذه، فهذه إحدى الطرق لحل المشكلات التي قد تنشأ عندما
تعمل مع هذه الأدوات المختلفة.
اسمحوا لي أن أضيف في المهمة التالية ل Concat.
سأحدد بعض الأشياء هنا والخيارات.
أحدد هذه الفاصلة المنقوطة،
لذلك هذا شيء أحتاج إلى تحديده لـ Concat،
ثم أيضًا بعد
الخيارات التي أحدد dist فارغة.
الآن سيتم تكوين هذه الخيارات كونكات بواسطة أوسيمينبريبي الذي يتم تشغيله في وقت سابق.
حتى نتمكن من ترك معظمها فارغة هناك،
ومن ثم سيتم إعادة تكوينها من قبل أوسيمينبريبي.
التالي هو القبح.
داخل uglify أيضا أنا بحاجة فقط لتحديد هذا dist فارغة.
إذا لم أكن تحديد هذه،
ثم مهمة usemin لا تعمل بشكل صحيح.
لذلك، هذا هو السبب في أنني بحاجة إلى تحديد كل هذه الأشياء بشكل صريح.
لذلك لcsmin أيضا أود أن أقول ديست فارغة.
وبعد ذلك، تسمى المهمة التالية التي سأقوم بتكوين filerev.
لذا، رأيتني تثبيت البرنامج المساعد filerev لـ Grunt.
ماذا يفعل هذا filerev؟
ما يفعله filerev هو عندما يقوم usemin بإعداد ملف main.css و main.js،
ما يفعله filerev هو أنه يضيف امتدادًا إضافيًا لهذا الاسم الرئيسي،
بحيث عند إعداد إصدار جديد من موقعك وتحميله إلى صفحة الويب،
في حالة رؤية شخص ما لموقع الويب الخاص بك في وقت سابق
، قد يكون متصفحها قد صرفت ملفات main.css و main.js.
إذا لم تقم بإرفاق هذا filerev ما يحدث هو ذلك،
فإن المتصفح الموجود أسفل تنزيل الإصدار الجديد من صفحة الويب الخاصة بك.
قد لا تحميل main.js و main.css الملف
لأنه يجد لهم بالفعل في انها ذاكرة التخزين المؤقت المحلية.
لذلك، قد لا يتم عرض صفحة الويب الخاصة بك بشكل صحيح.
لذلك، للتعامل مع المشكلة،
ما نقوم به هو في كل مرة نقوم بإعداد مجلد توزيع جديد،
سنقوم بإضافة مراجعة ملف.
هذا ما يرمز إليه filerev،
رقم مراجعة الملف،
كامتداد إضافي لاسم ملف css و js.
ملفات.ss و main.js الرئيسية.أعدت مسبقا.
لذلك هذا ما يفعله فيليريف.
الآن كيف يمكن لهذا filerev حساب هذه القيمة؟
فإنه يأخذ محتويات هذه الملفات ومن ثم يفعل بعض المعالجة ومن ثم يولد
md5 مضغوط 20 حرفا الرقم الذي سيتم إرفاقه إلى الملف الرئيسي.
لذلك، أنا ذاهب لتكوين هذا الجزء هنا.
لذا، في الخيارات،
أحدد هنا قائلا كيف من المفترض حساب هذا الرقم هناك.
لذلك، أقول ترميز utf8،
ثم أقول الخوارزمية التي كانت تستخدم لحساب هذا التجزئة،
ما نسميه كما التجزئة هو md5.
الآن، سوف تصبح أكثر وضوحا عندما نقوم بالفعل بتشغيل
مهمة usemin ثم نرى ما تفعله، طول 20.
لذلك، سوف أعود وشرح ما
يفعله هذا الشيء عندما نقوم بالفعل بتشغيل مهمة usemin.
لذلك، اسمحوا لي أن أنهي الخيارات هنا وبعد ذلك أقول الإفراج.
لذلك، أنا بحاجة إلى إعداد عدد قليل من الأشياء هنا ومن ثم الافراج عنهم،
ومن ثم أحتاج إلى تحديد الملفات التي يجب أن يعمل بلدي filerev.
لذلك، أود أن أقول ملفات filerev.
لذلك، داخل ملف هنا.
لذا، بدأت ترى نمطًا في الطريقة التي يتم بها تحديد الأشياء هنا.
لذلك، عند تحديد الملفات هنا،
سوف تقول المصدر،
ثم في هناك سوف تحدد ديست CSS
ثم نجمة نقطة CSS،
ثم ديست واحد التالي js*.js.
لذلك، مع هذا، قمت بتكوين filerev.
لذلك، يتم تكوين جزء filerev.
وأخيرا، نحن بحاجة إلى تكوين مهمة usemin.
لذلك، لتكوين مهمة usemin،
أذهب إلى هنا وأقول usemin،
وهنا اسمحوا لي تحديد بعض الخيارات لمهمة usemin.
لذلك، هنا أنا تحديد أتش تي أم أل.
لذلك، هنا أنا تحديد ذلك الملفات التي تحتاج إلى تغيير،
فإنه يحتاج إلى تحديث.
لذلك، الملفات التي تم نسخها إلى مجلد التوزيع.
وآخر واحد هو «dist/index.html».
إذن هذه هي الملفات الثلاثة التي من المفترض أن تعالجها،
ثم بعض الخيارات لهذا هنا.
لذلك، فإن الخيارات سوف تحدد «أسيتسديرس».
لذلك، هذا هو المكان الذي توجد فيه جميع الأصول التي أستخدمها.
لذا، توجد ملفات CSS وجافا سكريبت.
لذلك، سأحدد «dist/css» و «dist/js».
مع هذا، كنت قد أكملت تكوين مهمة «usemin».
بعد ذلك، نقوم بتكوين مهمة «htmlmin».
بالنسبة للمهمة «htmlmin»،
حددنا الهدف الذي هو «dist»، مجلد التوزيع،
و «htmlmin»
التي سيتم تنفيذها على كافة ملفات HTML الموجودة في مجلد التوزيع هذا.
الخيارات التي نحددها لهذه الحالة التي، سنقول،
«collsedWhiteSpace: True» بمعنى أن
كل المساحة البيضاء في ملفات HTML ستنهار،
بحيث يحتوي [غير مسموع] فقط على الحد الأدنى من كود HTML هناك.
يزيل التعديل بشكل أساسي
جميع الأحرف الدخيلة من ملفات «htmlmin».
الآن، نحدد أيضًا قاموس الملفات،
تلك الملفات التي تحتاج إلى تكوين.
يتم تحديد هذا كوجهة، نقطتين، مصدر.
لذلك، نحدد «dist/index.html»: «dist/index.html»،
وهذا يعني أن «index.html» في مجلد التوزيع
سيكون [غير مسموع] ثم وضع مرة أخرى في ملف «»،
وأيضا في مجلد التوزيع. index.html
وبالمثل، فإن «contactus.html» المحدد هناك ثم
«aboutus.html» المحدد أيضا كما هو موضح في تلك القائمة من الملفات.
السبب في قيامنا بتنفيذ «htmlmin» بعد الانتهاء من «usemin»
هو
أن «usemin» سيحل محل جميع البرامج النصية بملف «.js» الرئيسي وأيضًا كل
رمز CSS المتسلسل والمدمج واستبداله بالملف «.css» الرئيسي.
لذلك سيتم تنفيذ «htmlmin»
على ملفات HTML الناتجة بعد الانتهاء من «usemin» عملها.
هذه هي الطريقة التي يعمل بها هذا في Grunt.
لذلك يجب تطبيق Grunt «htmlmin» بعد الانتهاء من «usemin» عملها.
حتى مرة واحدة يتم تكوين كل هذه،
ثم خطوة واحدة صغيرة التي أحتاج إلى القيام به هو العودة إلى هنا،
ومن ثم حيث نحدد ل «جيت ناخر»،
ونحن بحاجة إلى تحديد أن هذا «جيت ناخر»،
وتذكر أننا قدمنا شيئا يسمى
«أوسيمينبريبي» [غير مسموع] لذلك تحتاج إلى أبلغ «jit-nrunt»
قائلا أن تكوين «useMinPreprade» الذي قدمناه سيتم
التعامل معه من خلال هذا البرنامج المساعد «grunt-usemin» نفسه.
لذلك أنا بحاجة إلى تحديد صريح،
وإلا فإن «جيت ناخر» سوف ننظر حولنا للحصول على «أوسيمينبريبي» المساعد غرونت.
لذلك لتحديد ذلك،
أود أن أقول «useminPreprade» وأقول «grunt-usemin»،
بشكل أساسي إعلام «jit-nrunt» قائلا «useminPreprade» سيتم
التعامل معها من قبل البرنامج المساعد «grunt-usemin» هناك.
وأخيرا، دعونا إعادة تكوين مهمة «بناء» في الجزء السفلي.
الذهاب إلى تلك المهمة «بناء» بعد «إيماجيمين».
لذلك فعلنا «نظيفة»، «نسخ»، «إيماجيمين»،
ثم المهمة التالية التي يجب أن تنفذ هو «أوسيمينبريبي» ثم بعد
«أوسيمينبريبي» تنفيذ «الاتصال»، ثم أنا تنفيذ «كسمين»،
ثم تنفيذ «أوغليفي».
لذلك ترى أن علينا القيام بها في مجموعة معينة من الخطوات.
بمجرد تشغيل «cssmin» و «uglify»
، سيتم إنشاء ملفات «.css» الرئيسية وملفات «.js» الرئيسية.
حتى في هذه المرحلة، أنا ذاهب لتشغيل
«filerev» ثم أخيرا تشغيل مهمة «usemin».
لذلك ترى أسرار: «نظيفة»، «نسخة»،
«إيماجيمين»، «أوسيمينبريبي»، «كونكات»، «كسمين»، «أوغليفي».
عند هذه النقطة، ملفات «.css» و «.js»، وملفات
«.css» الرئيسية «.js» جاهزة.
يمكنني أن أفعل «filerev» عليها ثم أخيرا تشغيل «usemin».
ولكن هذا، دعونا حفظ التغييرات ثم نذهب
ونرى كيف تقوم مهمة «البناء» بالفعل بإعداد التوزيع.
[ غير مسموع] الذهاب إلى محطة لدينا،
في موجه اكتب «بناء النخر» ثم انتظر حتى يتم تنفيذ جميع المهام.
لذلك سترى أنها سوف تعمل من خلال جميع مجموعة من المهام،
وبعد ذلك أخيرا عندما يتم ذلك،
انها سوف تحدد ببساطة أن جميع المهام يتم القيام بها.
لذلك إذا كنت ترغب في العودة والنظر في تسلسل المهام التي تم الانتهاء منها،
يمكنك فقط التمرير مرة أخرى ومعرفة ما يفعله.
يقوم أولاً بتنظيف الملفات،
ثم يقوم بنسخ ملفات HTML،
ثم يقوم بنسخ ملفات الخط،
ثم يقوم بمهمة «imagemin»،
ثم يقوم بـ «UseminPreprape»،
ثم يقوم بـ «concat»،
ثم يقوم بـ «cssmin»،
سواء التوزيع أو تم إنشاؤه،
ثم يقوم بـ» uglify»،
ثم «uglify» المهمة، ثم يقوم بتشغيل «filerev» ثم في النهاية مهمة «usemin».
ومن ثم يجب أن يكون مجلد التوزيع الخاص بنا جاهزًا الآن.
الذهاب إلى محررنا،
ترى الآن أن مجلد التوزيع قد تم إعداده.
دعونا ننظر على وجه التحديد في الملفات الرئيسية «.css» و «.js».
لاحظ أسماء هذه الملفات.
لاحظ أنه بعد الرئيسي،
هناك نقطة ثم هناك
تجزئة 20 حرفا التي تمت إضافتها من قبل «filerev» هنا.
إذن ما يحدث هو إذا قمت بإعداد مجلد توزيع جديد، في
كل مرة أقوم فيها بإعداد مجلد التوزيع الجديد، يتغير هذا التجزئة،
مما يعني أنه في كل مرة أقوم فيها بنشر إصدار جديد من موقع الويب الخاص بي،
إذا كانت أي متصفحات قد شاهدت موقعي على الويب، ثم إدخالات ذاكرة التخزين المؤقت الخاصة بهم،
حيث قد يكون التخزين المؤقت «.css» الرئيسي و «.js» الرئيسي أصبح
باطلا لأن لدينا نسخة جديدة من «.css» الرئيسي و «.js» الرئيسي.
لذلك سيقوم المتصفح بإعادة تنزيل هذه الأشياء.
لم أعرض «filerev» مع نصوص الآلية الوقائية الوطنية،
لكنني أضفتها هنا فقط لتظهر لك كيف يتم ذلك مع Grunt.
لذلك مع هذا، نكمل هذا التمرين.
دعونا نلقي نظرة سريعة على الموقع في متصفحنا.
الذهاب إلى المتصفح الخاص بك،
يمكنك أن ترى أنني الآن تحميل في «dist/index.html».
لذلك هذا هو من مجلد التوزيع،
لذلك أنا التحقق من ويبدو على ما يرام.
و «aboutus.html» تبدو أيضا على ما يرام، تماما كما كان من قبل.
كما تبدو صفحة الاتصال مستعدة بشكل جيد للنشر.
لذلك مع هذا، نكمل هذا التمرين.
بعد كل هذا الشخير،
أنا متأكد أنك تحتاج إلى التقاط أنفاسك.
قبل القيام بذلك، تأكد من إجراء تعليق جيد مع الرسالة «Grunt Part الثاني».