Tamim Fahed نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 أقوم باستخدام إطار العمل express.js وحاولت وضع كود بسيط كالتالي: var express = require('express'); var app = express(); app.all('*', (req, res) => { res.sendFile(__dirname+'/index.html') }) var server = app.listen(3000, () => { const host = server.address().address const port = server.address().port }) ولكن أحصل على الخطأ التالي ضمن الكونسول: SyntaxError: expected expression, got '<' ولا يظهر أي شيء ضمن الصفحة. كيف يمكنني حل هذه المشكلة؟ 1 اقتباس
1 Yomna Raouf نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 الجزء التالي من الأكواد: app.all('*', function (req, res) { res.sendFile(__dirname+'/index.html') }) تخبر Express أنه أيًا كان طلب المتصفح، سيقوم الخادم بإرسال ملف index.html. فعندما يقوم المتصفح بطلب ملفات JavaScript مثل jquery-x.y.z.main.js أو angular.min.js سيقوم المتصفح سيقوم المتصفح بإرجاع محتوى ملف index.html و الذي يبدأ ب <!DOCTYPE html> و هو ما تسبب في ظهور خطأ JavaScript. لذلك من المفترض أن تعالج الأكواد الخاصة بال callback الطلب المرسل و تقوم بتحديد الملف المطلوب تحديدًا و إرساله، أو/و يمكنك استخدام دالة أخرى غير app.all. 1 اقتباس
1 عبدالله عبدالرحمن11 نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 يمكنك تجربة هذا الكود لحل مشكلتك // استبدل appPath بالمسار المطلوب app.set('appPath', 'public'); app.use(express.static(__dirname +'/public')); app.route('/*') .get(function(req, res) {// استبدل appPath بالمسار المطلوب res.sendfile(app.get('appPath') + '/index.html'); }); حيث يحتوي المسار العام public على ملف index.html ويشير إلى جميع الملفات في المجلد الكود express.static يخدم الملفات الثابتة بشكل صحيح (ملفات .js و css كما هو مشار إليه بواسطة index.html). بناءً على التعليمات البرمجية الخاصة بك ، ستحتاج على الأرجح إلى استخدام هذا السطر بدلاً من ذلك: app.use(express.static(__dirname)); حيث أن جميع ملفات JS الخاصة بك ، index.html وملف خادم JS الخاص بك في نفس المسار. . اقتباس
السؤال
Tamim Fahed
أقوم باستخدام إطار العمل express.js وحاولت وضع كود بسيط كالتالي:
var express = require('express'); var app = express(); app.all('*', (req, res) => { res.sendFile(__dirname+'/index.html') }) var server = app.listen(3000, () => { const host = server.address().address const port = server.address().port })
ولكن أحصل على الخطأ التالي ضمن الكونسول:
SyntaxError: expected expression, got '<'
ولا يظهر أي شيء ضمن الصفحة. كيف يمكنني حل هذه المشكلة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.