У меня установлен сервер node.js / Express, который обслуживает мое одностраничное приложение (в Vue. js) внутри папки publi c из пути URL root (localhost: 3333). ).
Теперь, внутри моего индекса. html из моего SPA, я могу легко перемещаться внутри своего приложения на другие страницы (все они обрабатываются vue. js History API, (не sh один)).
Однако, если я ввожу какой-либо маршрут непосредственно в моем браузере, который должен указывать на некоторую подстраницу в моем SPA (например, localhost: 3333 / about. html), этот маршрут будет пытаться обслужиться из моего * Программа 1024 *, которая, конечно, не распознает этот маршрут ...
Как я могу разрешить обработку этого маршрута непосредственно моим SPA, а не через мою программу node.js? Я нашел какое-то решение, перенаправив все, не root url, чтобы оно служило указателю. html страница в моей папке dist SPA:
app.all('/*', function(req, res) {
res.sendfile('index.html', {root: publicDir});
});
Во-первых, я не очень понимаю, как это может обрабатываться моим SPA ... Я знаю, что обслуживаю свою страницу индекса. html, но она автоматически перенаправляет себя на подстраницу / about моего приложения Vue автоматически или как это работает?
И, во-вторых, это рекомендуемый / или даже стандартный способ передачи обработки этого маршрута в SPA, а не node.js? Или есть другой лучший способ?