Tamim Fahed نشر 31 يوليو 2021 أرسل تقرير نشر 31 يوليو 2021 لدي مجلّد pages فيه بعض صفحات الموقع ومنها index.html، وأحاول عرضها من خلال node.js بالكود التالي: var express = require('express'); var app = express.createServer(); app.use(express.staticProvider(__dirname + '/public')); app.get('/', function(req, res) { res.render('index.html'); }); app.listen(3000, '127.0.0.1') ولكن يظهر لي هذا الخطأ: Error: Cannot find module 'html' كيف يمكنني حل هذه المشكلة؟ اقتباس
1 Sam Ahw نشر 31 يوليو 2021 أرسل تقرير نشر 31 يوليو 2021 يوجد عدة طرق لإرسال الصفحات من خلال node.js ومنها استخدام محرك القوالب jade من خلال إنشاء الملف index.jade ضمن المجلّد الذي يحوي صفحات الموقع لديك pages وإضافة الكود التالي: include plain.html ثم وفي نفس المجلّد نجعل الصفحة plain.html تحوي كود HTML الخاص بهذه الصفحة بهذا الشكل: <!DOCTYPE html> ... وأخيراً في كود node.js من طرف الخادم نستطيع تمرير هذه الصفحة بالشكل التالي: res.render(index) ومع تحديث نسخة express.js بدءً من النسخة الثالثة، أصبح بإمكانك استخدام المحرّك ejs من خلال تحميل الحزمة التالية: npm install ejs --save وتمرير الصفحات بالشكل التالي: app.set('views', __dirname + '/pages'); app.engine('html', require('ejs').renderFile); أما في نسخة express 3.4 ومافوق يمكنك استخدام المحرّك ejs يالشكل التالي: app.set('view engine', 'ejs'); app.get('/home', function (req, res) { res.render('home.html'); }); 1 اقتباس
1 عبدالباسط ابراهيم نشر 31 يوليو 2021 أرسل تقرير نشر 31 يوليو 2021 يمكنك قراءة ملفات ال html وإرسالها ببساطة كالتالي app.get('/', (req, res) => { fs.readFile(__dirname + '/public/index.html', 'utf8', (err, text) => { res.send(text); }); }); اقتباس
0 MoJaffer نشر 1 أغسطس 2021 أرسل تقرير نشر 1 أغسطس 2021 (معدل) تستطيع قراءة ملف في Node.js بإستخدام مكتبة fs var fs = require('fs'); app.get('/', (req, res) => { fs.readFile('./index.html', function (err, html) { if (err) { throw err; } res.send(html); }); }); لكن سيظل من الإفضل لك استعمال محركات القوالب (templating engine) وهناك الكثير منها : PUG EJS Handlebars تم التعديل في 1 أغسطس 2021 بواسطة MoJaffer اضافة معلومة اقتباس
السؤال
Tamim Fahed
لدي مجلّد pages فيه بعض صفحات الموقع ومنها index.html، وأحاول عرضها من خلال node.js بالكود التالي:
var express = require('express'); var app = express.createServer(); app.use(express.staticProvider(__dirname + '/public')); app.get('/', function(req, res) { res.render('index.html'); }); app.listen(3000, '127.0.0.1')
ولكن يظهر لي هذا الخطأ:
Error: Cannot find module 'html'
كيف يمكنني حل هذه المشكلة؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.