Node.js Express: обрабатывает запросы, когда пользователи ищут файлы .html напрямую - PullRequest
0 голосов
/ 27 мая 2019

У меня проблемы с обработкой запросов, когда пользователь запрашивает URL-адрес HTML-файла. Например, если пользователь ищет localhost: 8080 / profile - он будет перенаправлять их на страницу входа, если они не вошли в систему, однако если он ищет localost: 8080 / profile.html, он всегда будет перенаправлять их в profile.html. , По сути, я хочу иметь возможность обрабатывать запросы, когда они ищут файлы HTML напрямую. Когда я пытаюсь использовать экспресс с:

app.get("/profile", function(req, res) {
    // Handle req here
}

или

app.get("/profile.html", function(req, res) {
    // Handle req here
}

ни один из них не вызывается, когда пользователь ищет /profile.html.

Все html-страницы хранятся в / public /, и ниже приведен код, относящийся к настройке экспресс-сервера.

let express = require("express");
let https = require("https");
let path = require("path");
const bodyParser = require('body-parser');

let fs2 = require("fs");
let httpsOptions = {
    cert : fs2.readFileSync(path.join(__dirname, 'SSL', 'server.cert')),
    key : fs2.readFileSync(path.join(__dirname, 'SSL', 'server.key'))
}

let port = 3443;
let root = "./public"

let server = express();
server.use(bodyParser.json());
server.use(session({secret:"qwertyuiop", resave:false, saveUninitialized:true}));
var staticPath = path.join(__dirname, '/public');
server.use(express.static(staticPath));

start();

async function start() {
    try {
        https.createServer(httpsOptions, server).listen(port, function() {
            console.log('[SERVER] STATUS: Express HTTPS server on listening on port 3443');
        });

    }
    catch (err) { console.log(err); process.exit(1); }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...