【发布时间】:2013-04-13 19:58:21
【问题描述】:
我正在尝试构建一个简单的服务器来提供所有逻辑都在其中的单个 HTML 页面 由 Angular 处理。就我使用 HTML5 历史模式而言,我能够导航 通过标准 URL。
现在,为了完成这项工作,我需要启用 URL 重写。我试着用这一堆线和 尽管总是返回正确的 HTML 页面,但 URL 会有所不同,并且不会保留初始的 价值。例如 /popular 应该加载 index.html 并保留 URL /popular 以便 JS逻辑可以加载需要的页面。
下面是快递代码。
var express = require("express");
var app = express();
app.configure(function(){
app.use(express.static(__dirname + '/dist'));
});
app.get("/*", function(req, res, next){
res.sendfile(__dirname + '/dist/index.html');
});
app.listen(3000);
感谢任何建议。 谢谢大家。
【问题讨论】:
-
上面的代码应该可以工作(事实上,确实可以)。您在下面的评论中写道您正在获得重定向;我怀疑这些是由 Express 生成的,因为似乎没有任何迹象表明它有理由生成它们。所以也许 Angular 正在更改 URL,你在 Node 前面使用了代理,或者上面的代码不完整。