كيف أقوم بتشغيل سيرفرين من خلال ملف دفعي؟؟

اريد ان اشغل الامرين
npm run serve
والأمر
python main.py
من خلال ملف دفعي ويتم عمله بالخلفيه دون ان يظهر

1 Like

اهلا صهيب

اين تريد تشغيلهما؟ محليا ام على سيرفر خاص؟ ام على هيروكو؟

1 Like

مبدأياً محليا من ثم على هيروكو

1 Like

محليا الامر بسيط

وايضا هناك فرق بين ويندوز ولينكس… لانك محليا غالبا تستعمل ويندوز.

في ويندوز فقط تكتب ملف python.bat الذي يشغل تطبيق البايثون
وملف node.bat الذي يشغل تطبيق النود
والملف الاخير run.bat الذي يشغل الملفين

call python.bat
call node.bat

اما في لينكس فنفس الامر ستقوم بعمل ملفين python.sh وملف node.sh والملف الاخير run.sh يحتوي على

python.sh &
node.sh
1 Like

على هيروكو الامر مختلف جدا

من الافضل ان تقوم بجعل تطبيقك واحد فقط

كيف؟

حينما انت تقوم npm run build
وقتها انت تقوم بانشاء مجلد build او dist بالامكان تشغيله باي سيرفر ويب مثل سيرفر apache او gunicorn

المجلد بسيط جدا ويحتوي على ملف index.html وملفات ال css وال js

انت تعرف ماهي الخطوة التالية صحيح؟

ببساطة ستنسخ هذه الملفات الى المجلد الذي يقوم فلاسك او جانقو فيه بعرض ملفات ال html وهو templates (او بامكانك تغيير المسار بكتابة اكواد بتغيير اعدادات تطبيق الفلاسك).

وعندها لديك تطبيق واحد (فلاسك) فيه كلا من ال API وعرض الملفات الستاتيكية html css js التي نسختها من التطبيق الاخر.

هل ممكن جعل العملية الية؟

من غير المعقول ان تقوم بكل هذا العمل عند كل اطلاق للمشروع.

لذا يوجد ما يعرف ب heroku buildpack تحدد فيها تحميل npm packages ثم npm run build
وتحدد فيها تحميل حزم البايثون كذلك

هكذا تصبح العملية الية

انصحك في البداية ان تقوم بالعملية يدويا.

واذا نجحت حاول جعلها الية (ستجد شرح مفصل على النت).

1 Like

انا عملت هاي الطربقة لكن المشكلة انو النافذة تبع ال cmd تبقى موجودة اريد ان يتم تشغيلها في الخلفية

1 Like

لماذا تريد اخفاءه من الخلفية ؟

1 Like

انا اريد ان اشغل run.bat فيقوم بتشغيل السيرفرات وبعدها تتسكر نافذة ال cmd الخاصة به

1 Like

انا أفكر في تطبيقات محلية حاليا لذلك اريد أن يكون الاقلاع سلس

1 Like

إذا قم بعمل تشغيل التطبيقات باستعمال بايثون وحولها إلى exe

لتشغيل أمر من سطر الأوامر في بايثون انظر لهذا Popen :

ولتحويل ملف py إلى exe انظر لهذا