Tamim Fahed نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 أستخدم إطار العمل express النسخة 2 في node.js ووجدت طريقة لتمرير المتغيرات مع ال view من خلال استخدام المتغيّر locals: res.render("myTemplate", { locals: { user: "test1" } }); ولكن هل يوجد طريقة باستخدام globals بدلاً من locals ؟ أي استخدام متغيرات موجودة بأماكن أخرى من الكود بشكل عام؟ وفي حال قمت بالتحديث للنسخة الأحدث من express كيف يمكنني تمرير القيم بشكل عام بين أجزاء الكود البرمجي؟ اقتباس
1 Sam Ahw نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 بدءً من الإصدار الثالث في express لقد تم الاستغناء عن dynamicHelpers وبالتالي لم يعد بالإمكان استخدام الطريقة السابقة، بدلاً من ذلك يمكنك استخدام التابع app.locals والذي يمكنه تخزين جميع القيم والتوابع التي قد تحتاجها ضمن أجزاء الكود لديك حتى لو كانت بأماكن متفرّقة في حال لم تستخدم طرق الاستدعاء التقليدية require أو تصدير modules. مثال: app.locals.title = "test"; --> يمكنك تخزين قيم مفردة //كما يمكنك تخزين توابع مع قيمها أيضاً بالشكل التالي: app.locals({ username: "user1", somefunction: function() { return "any result"; } }); وبالتالي يمكنك في أي مكان ضمن الكود استدعاء app.locals وأي قيم تحتويها: var user = app.locals.username أما بالإصدار الرابع من express.js 4 ، أصبح المتغيّر app.locals ببساطة كغرض Object من لغة جافاسكريبت بدلاً من أن يكون بهيئة تابع، وأصبح يجب عليك إضافة الخصائص كما تقوم عادةً بتعريفها للأغراض Objects كلٍ على حدى، بالشكل التالي: app.locals.username = "user1"; app.locals.somefunction = function() { return "result here"; } وأصبح أيضاً بالإمكان استخدام res.locals والتي لها نفس الوظيفة تماماً مع فرق بسيط أنه يجب استخدامها مع البيانات المتعلّقة بالطلبات التي يتم استقبالها وإرسالها من خلال express بدلاً من أي بيانات عامة ضمن الكود لديك. مثال: res.locals.user = req.isAuthenticated() ? req.user : null; 1 اقتباس
السؤال
Tamim Fahed
أستخدم إطار العمل express النسخة 2 في node.js ووجدت طريقة لتمرير المتغيرات مع ال view من خلال استخدام المتغيّر locals:
res.render("myTemplate", { locals: { user: "test1" } });
ولكن هل يوجد طريقة باستخدام globals بدلاً من locals ؟ أي استخدام متغيرات موجودة بأماكن أخرى من الكود بشكل عام؟ وفي حال قمت بالتحديث للنسخة الأحدث من express كيف يمكنني تمرير القيم بشكل عام بين أجزاء الكود البرمجي؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.