إذا كنت مطور ويب ولم تستخدم امتداد الخادم المباشر في VSCODE ، هل أنت حتى مطور؟ أنا فقط أمزح. ولكن هل فكرت في كيفية عمل ذلك تحت الغطاء؟ في مدونة اليوم ، دعونا نحاول أن نفهم كيف يعمل ذلك مع تطبيق عملي باستخدام Golang. لماذا جولانج؟ حسنًا ، أنا أستكشف Golang هذه الأيام ، وما هو الأفضل من التعلم من بناء مشروع؟ لذا فإن السياق الكافي (وليس الشخص الموجود في Golang) دعنا نبدأ.
لذا يقوم الخادم المباشر بإعادة تحميل المتصفح تلقائيًا كلما اكتشف أي تعديل في ملفات HTML أو CSS أو JS. لقد بدأت بتقديم هذه الملفات الثابتة من خلال خادم HTTP. تحت Hood ، توظف مراقب ملفات مثل FSNOtify (سنستخدم هذا لمشروعنا) أو FSWATCH (في نظام الملفات المستند إلى UNIX) أو Chokidar (لـ NodeJs) لمراقبة دليل المشروع بشكل مستمر لتغييرات الملفات (بشكل أساسي عند حفظ أي ملف مع تمديد .HTML ،.
في القلب ، يستخدم اتصال WebSocket بين خادمك (Node JS) الخاص بك والمتصفح. عندما يقوم الخادم باكتشاف ملف يغير ، فإنه يرسل إشعارًا معادلاً عبر WebSocket إلى المتصفح. يقوم المتصفح ، بدوره ، بإعادة تحميل الصفحة لتعكس التغييرات الجديدة التي تم إجراؤها. بالإضافة إلى ذلك ، يستخدم حقن CSS (تحديث الأنماط فقط بدون إعادة التحميل الكامل) ، HMR (استبدال الوحدة النمطية الساخنة) لوحدة JavaScript. هذا يضمن الحصول على ردود فعل في الوقت الفعلي دون الحاجة إلى إعادة تحميل المتصفح يدويًا بعد كل تغيير في الكود.نظرة عامة على المشروع
1. تقديم الملفات الثابتة
http.Handle("/", http.FileServer(http.Dir("./static")))2
3. مشاهدة الملف يتغير
http.Handle("/", http.FileServer(http.Dir("./static")))5. تشغيل الخادم
http.Handle("/", http.FileServer(http.Dir("./static")))الأفكار النهائية
مع بضعة أسطر من رمز GO ، تمكنت من تحسين سير العمل لتطوير الويب الثابت ، وأتطلع إلى تحسين هذه الأداة إلى أبعد من ذلك.
تحقق من الكود: serve-it github
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3