اذهب إلى المحتوى
  • 0

مشكلة في الوصول لملفات التنسيقات في إطار العمل express.js ضمن node.js

Tamim Fahed

السؤال

لقد قمت بتجربة مشروع بسيط باستخدام express.js في خادم node.js وقمت بكتابة الكود التالي:

var express = require("express"),
    app = express.createServer();
app.use(express.static(__dirname + '/styles'));
app.listen(5000);

والمجلدات الموجودة ضمن المشروع موزّعة بهذا الشكل:

home.js
/styles
  main.css

ولكن عندما أحاول الوصول إلى ملف التنسيقات من خلال المتصفح: http://localhost:5000/styles/main.css يظهر لي الخطأ التالي:

Cannot GET / styles /
main.css

كيف يمكنني حل هذه المشكلة؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك تجربة الرابط التالي:

http://localhost:5000/main.css

أما في حال أردت وجود /styles في الرابط، فيجب أن تقوم بتعديل الكود لديك ليصبح بالشكل التالي:

app.use("/styles", express.static(__dirname + '/styles'));

فمع عدم ذكر أي مسار في كود app.use ستتم الاستجابة إلى المسار الرئيسي لمجلّد مشروعك دون أي إضافات.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

كما في التعليق السابق فإنه عند استخدام الكود app.use كالتالي

app.use(express.static(__dirname + '/styles'));

فإنه يمكنك الوصول للملفات في مجدل styles مباشرة 

http://localhost:5000/main.css

بينما إذا حددت path معين ك styles 

app.use("/styles", express.static(__dirname + '/styles'));

فيجب عليك الوصول للمجلد styles كالتالي

http://localhost:5000/styles/main.css 

لاحظ الفرق بين استخدام الطريقتين حيث أن عند استدعاء مثلاً ملفات التنسيق 

  • عند استخدام الطريقة الأولى نستدعي الملف مباشرة من اسمه كالتالي
    <link href="file_name.css" rel="stylesheet">

     

  • عند استخدام الطريقة الثانية نستدعي الملف من اسمه ولكن قبله المسار الذي حددناه كالتالي

    <link href="styles/file_name.css" rel="stylesheet">    

     

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...