3

我正在尝试构建一个简单的服务器来提供一个 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);

任何建议表示赞赏。感谢大家。

4

1 回答 1

4

您需要为相对文件名设置根目录。

app.all('/*', function(req, res) {
  res.sendfile('index.html', { root: __dirname+'/dist' });
});
于 2013-04-13T11:58:21.700 回答