我正在开发一个使用 Node + Express 和 Handlebars 进行模板化的单页 Web 应用程序。index.html 目前一切正常,它由一个非常标准的 server.js 文件提供:
var express = require('express');
var server = express();
server.use(express.static(__dirname + '/public'));
var port = 10001;
server.listen(port, function() {
console.log('server listening on port ' + port);
});
从http://localhost:10001/
. 我的问题是我在应用程序中使用推送状态,所以浏览器可能会显示一个 URL http://localhost:10001/foo/bar
,然后如果我刷新页面,我会收到错误,Cannot GET /foo/bar
因为没有路由。
所以我的问题,请原谅我对 Node 的难以置信的愚蠢,我可以让所有请求都路由到 index.html 吗?我的应用程序中的 JavaScript 可以根据页面加载时的 URL 参数处理显示正确的内容。我不想定义自定义路由,因为数量会很大,而且它们的路径可以动态更改。