اريد ان اشغل الامرين
npm run serve
والأمر
python main.py
من خلال ملف دفعي ويتم عمله بالخلفيه دون ان يظهر
اهلا صهيب
اين تريد تشغيلهما؟ محليا ام على سيرفر خاص؟ ام على هيروكو؟
مبدأياً محليا من ثم على هيروكو
محليا الامر بسيط
وايضا هناك فرق بين ويندوز ولينكس… لانك محليا غالبا تستعمل ويندوز.
في ويندوز فقط تكتب ملف python.bat الذي يشغل تطبيق البايثون
وملف node.bat الذي يشغل تطبيق النود
والملف الاخير run.bat الذي يشغل الملفين
call python.bat
call node.bat
اما في لينكس فنفس الامر ستقوم بعمل ملفين python.sh وملف node.sh والملف الاخير run.sh يحتوي على
python.sh &
node.sh
على هيروكو الامر مختلف جدا
من الافضل ان تقوم بجعل تطبيقك واحد فقط
كيف؟
حينما انت تقوم npm run build
وقتها انت تقوم بانشاء مجلد build او dist بالامكان تشغيله باي سيرفر ويب مثل سيرفر apache او gunicorn
المجلد بسيط جدا ويحتوي على ملف index.html وملفات ال css وال js
انت تعرف ماهي الخطوة التالية صحيح؟
ببساطة ستنسخ هذه الملفات الى المجلد الذي يقوم فلاسك او جانقو فيه بعرض ملفات ال html وهو templates (او بامكانك تغيير المسار بكتابة اكواد بتغيير اعدادات تطبيق الفلاسك).
وعندها لديك تطبيق واحد (فلاسك) فيه كلا من ال API وعرض الملفات الستاتيكية html css js التي نسختها من التطبيق الاخر.
هل ممكن جعل العملية الية؟
من غير المعقول ان تقوم بكل هذا العمل عند كل اطلاق للمشروع.
لذا يوجد ما يعرف ب heroku buildpack تحدد فيها تحميل npm packages ثم npm run build
وتحدد فيها تحميل حزم البايثون كذلك
هكذا تصبح العملية الية
انصحك في البداية ان تقوم بالعملية يدويا.
واذا نجحت حاول جعلها الية (ستجد شرح مفصل على النت).
انا عملت هاي الطربقة لكن المشكلة انو النافذة تبع ال cmd تبقى موجودة اريد ان يتم تشغيلها في الخلفية
لماذا تريد اخفاءه من الخلفية ؟
انا اريد ان اشغل run.bat فيقوم بتشغيل السيرفرات وبعدها تتسكر نافذة ال cmd الخاصة به
انا أفكر في تطبيقات محلية حاليا لذلك اريد أن يكون الاقلاع سلس
إذا قم بعمل تشغيل التطبيقات باستعمال بايثون وحولها إلى exe
لتشغيل أمر من سطر الأوامر في بايثون انظر لهذا Popen :
ولتحويل ملف py إلى exe انظر لهذا