我正在尝试构建一个简单的服务器来提供所有逻辑所在的单个HTML页面 由Angular处理。至于我正在使用HTML5历史模式,我能够导航 通过标准网址。
现在,为了完成这项工作,我需要启用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);
任何建议表示赞赏。 谢谢大家。
答案 0 :(得分:4)
您需要为相对文件名设置根目录。
app.all('/*', function(req, res) {
res.sendfile('index.html', { root: __dirname+'/dist' });
});