【发布时间】:2014-12-08 13:54:03
【问题描述】:
我正在开发一个使用 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/ 加载时非常有效。我的问题是我在应用程序中使用推送状态,因此浏览器可能会显示类似http://localhost:10001/foo/bar 的 URL,然后如果我刷新页面,我会收到错误 Cannot GET /foo/bar,因为没有路由。
所以我的问题,请原谅我对 Node 的难以置信的愚蠢,我可以让所有请求都路由到 index.html 吗?我的应用程序中的 JavaScript 可以根据页面加载时的 URL 参数处理显示正确的内容。我不想定义自定义路由,因为数量会很大,并且它们的路径可以动态更改。
【问题讨论】:
标签: javascript node.js express